简体   繁体   English

取消选中单选列表视图中已选中的checkedtextview的方法

[英]android - How to uncheck the already selected checkedtextview in sigle choice listview

I am trying to uncheck the already selected checkedtextview in single choice list.I tried with the following code but it's not working. 我试图在单选列表中取消选中已经选择的checkedtextview。我尝试使用以下代码,但是它不起作用。 Please can anyone help me. 请任何人能帮助我。 How do we know, we are trying to select the already selected one pro grammatically? 我们怎么知道,我们试图从语法上选择已经选择的一个?

Code

lstAttribs.setOnItemClickListener(new OnItemClickListener() { 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);            
                    }
                }
            }); 

Its too late but may help some one. 为时已晚,但可能会有所帮助。

set your listview choice mode to single choice and declare global integer variable with value -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();

                }
            });

尝试lstAttribs.clearChoices()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM