1

我有两个自定义 ListView,每个都有自己的适配器,但属于同一类。所以每个都有相同的回调接口到活动。

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

4

3 回答 3

0

要获得更多可读性,请使用如下匿名接口:

lstView.setOnItemClickListener(new OnItemClickListener() {

            @SuppressWarnings("unchecked")
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {

                }
            }
        });
于 2013-08-24T04:11:55.977 回答
0

回调监听器不应由同一个活动类实现。您可以自己实现两个 listView 的侦听器。

例如:

listView1.setOnItemClickListener(listener1);
listView2.setOnItemClickListener(listener2);
于 2013-08-24T03:31:02.180 回答
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}
}

希望这有帮助。

于 2013-08-24T04:36:55.157 回答