我对使用自定义适配器为列表视图创建单击侦听器的最佳做法有疑问。所以,我的问题是:哪里更好地实现点击监听器?在自定义适配器中,还是最好在Activity?
中实现setOnItemClickListener我问过我的同事,但我们没有达到目的。如果你能帮助我,我将非常感激。
提前致谢
答案 0 :(得分:3)
AFAIK没有“最佳”的方式来做到这一点。这在很大程度上取决于你想要达到的目的。
如果您只希望行中的一个单独元素可以点击,那么您必须在适配器getView()
方法中执行此操作。
但是,如果您希望整行可以点击,那么您可以选择在getView()
方法中执行此操作,也可以选择在setOnItemClickListener()
如果你想在后一种情况下拆分哪些会更好,那么在单击该行时会采取什么操作取决于它。如果它是任意的和小的,不需要访问许多其他对象,适配器内部将很容易。但如果它确实需要与其他对象(即上下文,数据源等)进行交互,那么如果您已经在Activity中引用了这些内容,则可能更容易在Activity中执行此操作。这样就可以避免将所有这些内容传递给适配器。
答案 1 :(得分:2)
在setOnItemClickListener
Activity