Android 安卓setOnItemSelectedListener.not正在工作
在我的android应用程序中,我定义了一个布尔Arraylist来保存在ListView中检查的项目,以便恢复ListView状态Android 安卓setOnItemSelectedListener.not正在工作,android,listview,Android,Listview,在我的android应用程序中,我定义了一个布尔Arraylist来保存在ListView中检查的项目,以便恢复ListView状态 public static ArrayList<Boolean> DataChecked = new ArrayList<Boolean>(); “检查”和“取消检查”功能可以正常工作。但是我添加的行没有任何作用,它不会更新我的DataChecked。 然后我实现了这个监听器,并使用了以下两种方法: public void onItemC
public static ArrayList<Boolean> DataChecked = new ArrayList<Boolean>();
“检查”和“取消检查”功能可以正常工作。但是我添加的行没有任何作用,它不会更新我的DataChecked。
然后我实现了这个监听器,并使用了以下两种方法:
public void onItemClick(AdapterView parentView, View v,int position, long id) {
CheckedTextView textView = (CheckedTextView)v;
DataChecked.set(position,textView.isChecked());
}
现在,我想要的函数(更改DataChecked arraylist)运行良好!但我不想要两个侦听器,我想在第一个侦听器上实现这一行:
DataChecked.set(position,textView.isChecked());
那么为什么会发生这种情况呢?有线索吗
谢谢 确保listview正在使用该侦听器
// Use "this" if your Activity is implementing OnItemClickListener
myListView.setOnItemClickListener(this);
或
或
lv.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView arg0,视图v,内部位置,长arg3){
CheckedTextView textView=(CheckedTextView)v;
textView.setChecked(!textView.isChecked());
//改变
DataChecked.set(位置,textView.isChecked());
}
});
onItemSelected来自哪个接口?他被添加到我的ListViews中,另一个可选动作是将其创建为匿名内部类myListView.setOnItemClickListener(新的OnItemClickListener{…继承的方法});你好我使用了代码myListView.setOnItemClickListener(myOnItemClickListener);对两位听众来说。这些行:CheckedTextView textView=(CheckedTextView)v;textView.setChecked(!textView.isChecked());你工作得很好。
// Use "this" if your Activity is implementing OnItemClickListener
myListView.setOnItemClickListener(this);
myListView.setOnItemClickListener(myOnItemClickListener);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View v, int position, long arg3) {
CheckedTextView textView = (CheckedTextView)v;
textView.setChecked(!textView.isChecked());
//changed
DataChecked.set(position,textView.isChecked());
}
});