1

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

4

2 回答 2

3

AFAIK 没有“最好”的方法来做到这一点。这在很大程度上取决于您要达到的目标。

如果您只希望行中的一个单独元素可单击,那么您必须在 AdaptersgetView()方法中执行此操作。

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

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

于 2012-12-21T15:13:24.673 回答
2

setOnItemClickListener在实施Activity

于 2012-12-21T15:11:46.370 回答