我有 1 个 ListView 和两个 ArrayAdapters
根据 if 语句,这将发生
listView1.setAdapter(adapter1);
或者
listView1.setAdapter(adapter2);
在 onCreate() 上,这被称为,
listView1.setAdapter(adapter1);
所以 listView1.setOnItemClickListener() 连接到适配器 1。
在程序执行期间,当listView1.setAdapter(adapter2);
被调用时,ListView 会更新并且显示会显示相应的结果,但是,单击具有适配器 2 结果的项目实际上仍然引用适配器 1 结果。
当 listView1 的适配器发生变化时,如何让 onItemClickListener 切换?
谢谢
listView1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent i = new Intent("com.project.DetailView");
i.putExtra("serial", list.get(position).getSerial());
i.putExtra("name", list.get(position).getName());
startActivity(i);
}
});
}
adapter1 = new ArrayAdapter<Object>(this, android.R.layout.simple_list_item_1, list1);
adapter2 = new ArrayAdapter<Object>(this, android.R.layout.simple_list_item_1, list2);