私は1つのListViewと2つのArrayAdapterを持っています
if ステートメントによっては、これが発生します
listView1.setAdapter(adapter1);
また
listView1.setAdapter(adapter2);
onCreate() では、これが呼び出されます。
listView1.setAdapter(adapter1);
したがって、listView1.setOnItemClickListener() はアダプター 1 に接続されます。
プログラムの実行中にlistView1.setAdapter(adapter2);
が呼び出されると、ListView が更新され、適切な結果が表示されますが、adapter2 の結果を持つ項目をクリックすると、実際にはまだ adapter1 の結果が参照されます。
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);