同一 Activity 中的 2 个 ListView
如果我在一个 Activity 中有 2 个或更多列表视图,那么如何使用 onclicklistener?我的意思是我如何知道用户点击了其中哪一个?
public void onItemClick(AdapterView parent, View v, int position, long id) {
}
上面的代码是我使用的,但是当我尝试使用另一个列表视图时,我只是找不到方法来检测单击了哪个列表视图。
有什么想法可以解决这个问题吗?
If I have 2 or more listviews in one activity,then how do I use a onclicklistener? I mean How do I know on which one of them the user click?
public void onItemClick(AdapterView parent, View v, int position, long id) {
}
The above code is what I used,however when I try to use another listview,I just can't find a way to detect which listview is clicked.
Any ideeas to solve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在本例中,
parent
是 itemClick 源自的 listView。因此,您可以做的是为每个 ListView 保留一个成员变量,并将父级与这些成员进行比较,以查看哪个列表触发了单击。所以这是一个简单的类来表达我的意思:
In this case, the
parent
is the listView from which the itemClick originated. So what you can do is keep a member variable for each ListView and compare the parent to those members to see which list triggered the click.So here's a simple class with what I mean:
有两种方法可以做到这一点。
实现 OnItemClickListener
设置您自己的监听器
There are two ways you can do it.
Implement OnItemClickListener
Set your own listener
你可以这样做:
You can do it as this:
它非常简单,
只有一个列表可以充当 ListActivity 下的官方列表,并且此列表(并且只有此列表)应该具有特殊的列表 id (我认为@android:list),因此只需将另一个列表的 id 设置为其他 id 并设置它的 setOnItemClickListener 可以做任何你想做的事情。我目前正在开发一个带有 2 个列表视图和一个附加列表片段的应用程序。
its pretty simple ,
only one list can act as the official list under a ListActivity and this list (and only this list) should have the special list id (@android:list i think) so just set the id of the other list to some other id and set its setOnItemClickListener to do whatever you want. I currently work on an app with 2 listViews and an additional list Fragment.