2

我正在尝试取消选中单选列表中已选择的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);            
                    }
                }
            }); 
4

2 回答 2

1

为时已晚,但可能对某些人有所帮助。

将您的列表视图选择模式设置为单选并声明值为 -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();

                }
            });
于 2015-11-25T11:40:21.477 回答
0

试试lstAttribs.clearChoices()

于 2013-02-14T05:56:38.873 回答