Android ListView ClickListener

标签 android android-listview onclicklistener onitemclicklistener

我有一个关于使用自定义适配器为 ListView 创建点击监听器的最佳实践的问题。所以,我的问题是:在哪里更好地实现点击监听器?在自定义适配器中还是在 Activity 中实现 setOnItemClickListener 更好?

最佳答案

据我所知,没有“最好”的方法来做到这一点。这在很大程度上取决于您要实现的目标。

如果您只想让行中的一个单独元素可点击,那么您必须在 Adapters getView() 方法中执行此操作。

但是,如果您希望整行都可以点击,那么您可以选择在 getView() 方法中执行此操作,或者在 Activity 中使用 setOnItemClickListener()

如果您想分清哪种情况在后一种情况下会更好,这在一定程度上取决于单击该行时采取的操作。如果它是不需要访问许多其他对象的任意且小的东西,那么在 Adapter 内部将很容易。但是,如果它确实需要与其他对象(即上下文、数据源等)进行交互,那么如果您已经在 Activity 中引用了这些东西,那么在 Activity 中进行交互可能会更容易。这样您就无需将所有这些东西传递给适配器。

关于Android ListView ClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13992399/

相关文章:

android - 如何保持ListView的位置

android - 为什么程序化布局不可见?

android - onPictureTaken中的图片字节数据为什么会出现镜像?

android - Cordova CLI 命令甚至不返回任何内容 "cordova --version",安装问题?

android.widget.AdapterView.fireOnSelected(AdapterView.java :892)

android - 返回 Activity 后 ListView 不会更新

android - 如何从 Activity 返回主屏幕

java - 我想使用 json 将 Listview 数据发送到 Android 中的另一个 Activity

javascript - 如何使用javascript动态地将onclick添加到html元素

java - Android - 使用 onclick 时的计时