我在我的程序中使用3个在java代码中创建的列表视图。我使用扩展实现onitemclicklistener的Activity。现在,如何分别为每个listviwe制作不同的项目点击事件? 任何帮助表示感谢,并提前感谢。如何使用多个列表项单击扩展Activity实现onClicklistener
回答
public void onItemClick(AdapterView<?> adapter, View view, int index, long id)
{
switch(view.getId())
{
case <listview1 Id> : //call method 1; break;
case <listview2 Id> : //call method 2; break;
case <listview3 Id> : //call method 3; break;
}
}
这是一个糟糕的method.You应该实现不同类listeners.So可以模块化代码。
任何示例代码作为链接? –
我创建所有列表视图动态(即)没有ID。那么如何实施? –
hey @PattabiRaman,你可以在创建视图时使用setTag(int key,Object tag),在检查视图时使用getTag(int key)。 – dinidu
不要在Activity中实现OnItemClickListener,而应使用单独的类,例如匿名类。
或者使用单个侦听器,并通过callback method中的view参数检测事件的来源。
如果你看到
onItemClick(AdapterView<?> parent, View view, int position, long id)
它有父适配器视图。因此您可以检查点击哪个适配器视图。
我个人觉得不要在这种类型的实例上实现onItemClickListner。
使用setOnItemClickListener(listener1)...等等这3个listViews。它更好。
您可以为每个listView编写单独的侦听器。
HTH。
您需要为每个ListView创建一个新的onItemClickLIstener。
你这样做是这样的:
listView1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int index, long id) {
}
});
- 1. myActivity扩展GridView实现OnClickListener
- 2. 如何使用单个适配器实现多级可扩展列表视图?
- 3. Android扩展列表 - OnClickListener
- 4. 实现一个@ html.myTelerikGrid扩展
- 5. Android扩展列表项
- 6. 如何为展开式列表的子项实现不同的点击事件?
- 7. 多个实体的扩展
- 8. 可扩展列表按钮点击与项目点击
- 9. 单OnClickListener多个ViewHolders
- 10. 如何在不扩展Activity的类中使用getIntent()?
- 11. 如何在不扩展Activity的情况下使用getSharedPreferences?
- 12. 如何使用链表和单项类实现多项式类C++
- 13. 实现OnClickListener?
- 14. android onBindViewHolder未实现,即使使用扩展实现
- 15. 如何使箭头单击可扩展列表就像在Android的Youtube
- 16. 在activity activity中实现gridview
- 17. 如何在Mac中实现Safari扩展
- 18. Activiti如何实现可扩展性
- 19. Apache AirFlow如何实现可扩展性?
- 20. 如何测试扩展实现
- 21. 这个类扩展了Activity和BroadcastReceiver
- 22. 如何让一个扩展SurfaceView的类启动一个Activity?
- 23. 如何在多个Activity中使用ArrayList?
- 24. Java通过扩展LinkedList实现队列
- 25. 是否可以在Activity和Fragment中实现单独的按钮onclickListener?
- 26. 版本控制扩展单个项目的多个项目
- 27. 如何实现多级可展开列表视图?
- 28. 如何使用列表理解在python中扩展列表?
- 29. 如何在单个选项卡按钮下包含可扩展列表视图
- 30. 如何将列表绑定到单击列表项目时展开的布局
你能详细解释一下吗?与代码..? – Ronnie
当然。看到我的代码在这个链接:http://pastebin.com/fGV10fh5 –