2017-04-05 52 views
-1

我使用listview製作NLevel可展開列表。我在列表視圖中只添加了複選框。如何在N級列表視圖中一次只選中一個複選框

我想一次只檢查一個複選框。請任何人幫助我!

這裏我的代碼提前

@Override 
public View getView(final NLevelItem item) { 
// ....... 

final CheckBox checkBox = (CheckBox)view.findViewById(R.id.check); 
checkBox.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 

     //store checkbox state, note that NLevelItem item might need to be defined with 'final' 
     item.setChecked(checkBox.isChecked()); 

     if(checkBox.isChecked()){ 
      tempList.add((String) ((SomeObject)childs.getWrappedObject()).getName()+"+"+name); 
     } 
     else { 
      tempList.remove((String) ((SomeObject)childs.getWrappedObject()).getName()+"+"+name); 
     } 
    }//onClick() 
}//setOnClickListener() 

//update checkbox state from the corresponding NLevelItem 
checkBox.setChecked(item.isChecked()); 

//....... 
}//getView() 

感謝....

+0

可以用單選按鈕代替複選框單選 –

+0

檢查這個http://stackoverflow.com/a/37907352/3416642 – Sach

+0

@SachinShelar工作上面的鏈接,但我的條件受到影響item.setChecked(checkBox.isChecked()); – appu

回答

0

有一個在RadioGroupRadioButton做這件事,爲什麼要使用複選框

+0

我只想要複選框..不需要單選按鈕 – appu

+0

那麼你可以聲明一個int checkOptionId並將選中的複選框的ID存儲在它中....當用戶選中另一個複選框時,可以取消選中前一個複選框 – AwaisMajeed

相關問題