我正在尝试取消选中单选列表中已选择的checkedtextview。我尝试使用以下代码,但它无效。请任何人都可以帮助我。 我们怎么知道,我们试图以编程方式选择已经选择的一个?
Code
lstAttribs.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView arg0, View v, int nItemPosition,long arg3)
{
if(lstAttribs.isItemChecked(nItemPosition))
{
lstAttribs.setItemChecked(nItemPosition, true);
}
else
{
lstAttribs.setItemChecked(nItemPosition, false);
}
}
});
答案 0 :(得分:1)
为时已晚,但可能对某人有所帮助。
将listview选择模式设置为单选,并声明值为-1的全局整数变量。
int cPos=-1;
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
if (cPos == position) {
if(listView.isItemChecked(cPos)){
listView.setItemChecked(position, false);
}else{
listView.setItemChecked(position, true);
}
} else {
listView.setItemChecked(position, true);
}
cPos = listView.getCheckedItemPosition();
}
});
答案 1 :(得分:0)
尝试lstAttribs.clearChoices()
。