Android 在带有自定义适配器的listview中将复选框设置为不可编辑

Android 在带有自定义适配器的listview中将复选框设置为不可编辑,android,android-listview,Android,Android Listview,我有一个带有自定义适配器的listview。listview中的每个项目都有一个imageview、textview和一个复选框 我的要求是,如果特定项目中文本视图的值为“xyz”,我必须将该复选框设置为不可编辑(应始终选中该复选框,并且不允许用户取消选中) 我尝试过设置、setClickable(false)和setEnabled(false),但都不起作用。请看下面的代码 ` `你不需要一个onCheckedChangeListener吗 checkBox.setOnCheckedChang

我有一个带有自定义适配器的listview。listview中的每个项目都有一个imageview、textview和一个复选框

我的要求是,如果特定项目中文本视图的值为“xyz”,我必须将该复选框设置为不可编辑(应始终选中该复选框,并且不允许用户取消选中)

我尝试过设置、
setClickable(false)
setEnabled(false)
,但都不起作用。请看下面的代码

`


`你不需要一个onCheckedChangeListener吗

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

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

   }
}
你可以试试
checkBox.setOnClickListener(null)

好的,下面是我所做的

` 
//if(teams.get(position).get("name").equalsIgnoreCase("xyz"))
            if(view.getTag().toString().equalsIgnoreCase("xyz"))
            {

                Log.d(Const.TAG, "View is Clickable = "+view.isClickable());    
                view.setBackgroundColor(Color.BLUE);
                checkBox.setClickable(false);
            }
            else
            {
                view.setClickable(false);
                view.setBackgroundColor(Color.WHITE);
                checkBox.setClickable(true);

            }
`

坦率地说,我不确定这是否是最好的方法,但它奏效了。如果有人有更好的方法,请分享。

我尝试将整个视图(listview项目)设置为可单击,并且成功了。现在无法单击该复选框。但是,当我滚动listview时,listview中的其他项也被设置为具有相同的属性
` 
//if(teams.get(position).get("name").equalsIgnoreCase("xyz"))
            if(view.getTag().toString().equalsIgnoreCase("xyz"))
            {

                Log.d(Const.TAG, "View is Clickable = "+view.isClickable());    
                view.setBackgroundColor(Color.BLUE);
                checkBox.setClickable(false);
            }
            else
            {
                view.setClickable(false);
                view.setBackgroundColor(Color.WHITE);
                checkBox.setClickable(true);

            }
`