多个ListView实现SetOnItemClickListener监听 区分listView

@Override

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    if (parent.getId() == R.id.f_linliquan_grid_home) {
        toastShow("sdfafsd", 0);
    }
    
    if (view.getId() == R.id.f_linliquan_grid_home) {
        toastShow("sdfafsd", 0);
    }else{
        toastShow("sun sun sun", 0);
    }
阅读 9.7k
3 个回答

在适配器里面写点击事件即可

根据AdapterView的ID,int id=AdapterView.getId();这个id就是你对应ListView的id

  • 一个界面会出现2个Listview,本身就很少见,有点怀疑是否需求问题还是实现的问题,当然只是猜测。

  • 暂时按照2个ListView的方式去做,最好是设置不同的onItemClickListener对象。

  • 这2个Listener对象可以使用匿名内部类的方式。如下:

mListView1.setOnItemClickListener(new OnItemClickListener() {
    void onItemClick(){};
});
mListView2.setOnItemClickListener(new OnItemClickListener() {
    void onItemClick(){};
});
  • 要是你不喜欢把注册监听器放在一个方法里,也可以考虑把这2个监听器抽出来,变成2个成员变量。

OnItemClickListener mListener1 = new OnItemClickListener() {
    void onItemClick(){};
}
OnItemClickListener mListener2 = new OnItemClickListener() {
    void onItemClick(){};
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题