Android ListView ClickListener

Android ListView ClickListener,android,android-listview,onclicklistener,onitemclicklistener,Android,Android Listview,Onclicklistener,Onitemclicklistener,关于使用自定义适配器为列表视图创建单击侦听器的最佳实践,我有一个问题。所以,我的问题是:在哪里更好地实现click侦听器?在自定义适配器中,还是最好在活动中实现setOnItemClickListener?在活动中实现setOnItemClickListener在活动中实现setOnItemClickListener似乎没有“最佳”方法。这在很大程度上取决于你到底想要实现什么 如果您只希望行中的一个单独元素是可单击的,那么您必须在适配器getView()方法中这样做 但是,如果您希望整行都可以单

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

活动中实现
setOnItemClickListener

活动中实现
setOnItemClickListener
似乎没有“最佳”方法。这在很大程度上取决于你到底想要实现什么

如果您只希望行中的一个单独元素是可单击的,那么您必须在适配器
getView()
方法中这样做

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

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

AFAIK没有“最佳”方法。这在很大程度上取决于你到底想要实现什么

如果您只希望行中的一个单独元素是可单击的,那么您必须在适配器
getView()
方法中这样做

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

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