我有两个自定义ListView,每个都有自己的适配器,但属于同一个类。因此每个活动都有相同的CallBack接口。
我正在努力解决Activity如何区分哪个ListView正在运行CallBack。侦听器将所选值发送回活动。但是,每个ListView都具有类似的可选值(即1,2,3,4)。因此单独选择的值不足以区分选择源自哪个ListView。
答案 0 :(得分:0)
回调侦听器不应由同一个活动类实现。 您可以自己为两个listView实现侦听器。
例如:
listView1.setOnItemClickListener(listener1);
listView2.setOnItemClickListener(listener2);
答案 1 :(得分:0)
要获得更多可读性,请使用以下匿名界面:
lstView.setOnItemClickListener(new OnItemClickListener() {
@SuppressWarnings("unchecked")
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
}
}
});
答案 2 :(得分:0)
是的,你可以通过设置2列表是全局变量。并检查您的回调,如:
public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
if(arg0 == mListView1){// listview1 item click}
else if(arg0 == mListView2){// listview2 item click}
}
希望得到这个帮助。