2015-03-02 76 views
0

我正在使用this教程。我有一个单选按钮的listview。当我点击listview值所有单选按钮改变checked.i当我单击提交按钮时希望单选模式和选中单选按钮列表值。 这是我onpostexecuteListView与服务器的单选按钮

protected void onPostExecute(JSONObject file_url) { 
      // dismiss the dialog after getting all albums 
      Log.d("Arraylist: ", "> " + AddressList); 

      pDialog.dismiss(); 
      // updating UI from Background Thread 
      runOnUiThread(new Runnable() { 
       public void run() { 
        /** 
        * Updating parsed JSON data into ListView 
        * */ 
        if(!AddressList.isEmpty()) 
        { 
       final ListAdapter adapterlist = new SimpleAdapter(
          PlaceEnquiryActivity.this, AddressList, 
          R.layout.addressscreenlist, new String[] { ADDRESS, 
            CITY, STATE, COUNTRY }, new int[] {R.id.address, 
            R.id.city, R.id.state, R.id.country}); 

        // updating listview 
        setListAdapter(adapterlist); 

这是在活动列表视图的onclick功能

final ListView lv = getListView(); 
     lv.setItemsCanFocus(false); 
     lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
     lv.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> arg0, View v, int arg2, long arg3) { 
      RadioButton rb = (RadioButton) v.findViewById(R.id.rb_Choice); 
      if (!rb.isChecked()) //OFF->ON 
      { 
      for (HashMap<String, String> m:AddressList) //clean previous selected 

       rb.setChecked(true); 
      //lv.getAdapter().notifyDatasetChanged(); 
      } 
      }   
      }); 

回答

0

你被 对(HashMap的玛:AddressList),其中犯错误//干净先前所选的

  rb.setChecked(true); 
     //lv.getAdapter().notifyDatasetChanged(); 
     } 

使用条件已经检查和不checked.if没有检查,然后使其checked.Don't for循环setchecked(真)