【发布时间】:2012-07-24 01:31:46
【问题描述】:
我有一个listview,而 lisview 的每个项目都是一个linearlayout。
每个线性布局包含 3 个文本视图。
如何为这些文本视图设置onclicklistener?
我试过这个:
TextView tv=(TextView)findById(R.id.textView1);
tv.setOnClickListener(...);
这给我一个nullpointerexception。
我也为列表视图尝试了 setonitemclickedlistener,但这仅允许我对线性布局进行操作,而不是文本视图。
提前致谢。
【问题讨论】:
-
您在使用适配器吗?如果是这样,您可以编辑您的问题并发布您的 getView() 方法吗?里面有你需要设置你的听众的地方。
-
我使用提供的 API SimpleAdapter。我没有覆盖任何方法。如果我只是为每个文本视图添加一个侦听器,会不会非常低效?
-
它比不这样做效率低。但是,如果您需要在列表中的每一行中分别获取所有 3 个的点击事件,那是您唯一的选择(我知道)。此外,我认为这不会导致严重的性能下降或任何事情,如果那是你所得到的。你可以发布你的活动代码吗?我可以尝试帮助您将其更改为使用自定义适配器,该适配器将为您在 TextViews 上设置点击侦听器。
标签: android listview android-listview android-event subitem