2017-06-09 67 views
1

工作,我有每個項目ListViewtext viewcheck box檢查一個ListView箱內,setChecked(真)沒有在牛軋糖

在每個項目上點擊我改變複選框狀態真/假時在列表中顯示選定的項目。

listSpinner.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
    Helper.hideKeyBoard(getApplicationContext(), view); 
    checkBox = (CheckBox) view.findViewById(R.id.chkbox_value); 
    if (checkBox.isChecked()) { 
     checkBox.setChecked(false); 
     } 
    else{ 
     checkBox.setChecked(true);       
    } 
    } 

    }); 

我嘗試使用runaable也:

checkBox.post(new Runnable() { 
          @Override 
          public void run() { 
           checkBox.setChecked(true); 
          } 
         }); 

它正在棉花糖正確,但不工作的牛軋糖!

注意:當我點擊第二個項目時,第一個項目的勾號顯示在牛軋糖中。

+0

你到底想達到所選項目的清單? – gprathour

+0

@gprathour我想我在問題中解釋過,當我點擊listview中的項目時,應勾選項目複選框。當我跑在棉花糖複選框正在勾選,但在牛軋糖它沒有!我清除 – Praneeth

+0

我沒有得到這個東西,如果(checkBox.isChecked)然後checkBox.setChecked(false); – gprathour

回答

0

你的代碼的流程會是這樣的:

你點擊複選框 - >它檢測到它被點擊,它檢查自己 - >你正在檢查是檢查還是沒有 - >如果它檢查那麼你使用setChecked(false)取消選中你的複選框。

刪除下面的代碼,它應該工作:

if (checkBox.isChecked()) { 
     checkBox.setChecked(false); 
     } 
    else{ 
     checkBox.setChecked(true);       
    } 
0

使用該監聽器如果選擇複選框或不檢查,並相應做一個動作。

checkBox setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

      @Override 
      public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) { 

      } 
     } 
    ); 
1

中序顯示u需要保持複選框狀態

相關問題