多个Listviews使用相同的Adapter类和相同的CallBack Interface to Activity

时间:2013-08-24 03:20:25

标签: android listview interface callback adapter

我有两个自定义ListView,每个都有自己的适配器,但属于同一个类。因此每个活动都有相同的CallBack接口。

我正在努力解决Activity如何区分哪个ListView正在运行CallBack。侦听器将所选值发送回活动。但是,每个ListView都具有类似的可选值(即1,2,3,4)。因此单独选择的值不足以区分选择源自哪个ListView。

3 个答案:

答案 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}
}

希望得到这个帮助。