AdapterView的onItemClickListener和OnItemSelectedListener之间的区别

Sur*_*esh 43 android android-adapterview

这两个听众有什么区别,文件说:

OnItemSelectedListener - 当选择此视图中的项目时要调用的回调的接口定义.

OnItemClickListener - 单击此AdapterView中的项目时要调用的回调的接口定义.

选择,点击这些在触摸屏上是不是相同?

Bry*_*nny 56

OnItemSelectedListener用于Spinners,OnItemClickListener用于ListViews.

  • 这是不正确的,AdapterViews可以使用任何一种/两种类型的侦听器.user1611552已正确识别差异,这应该是正确的答案 (12认同)
  • 尼斯.这很简单,但很少有人说这个.这真让我感到困惑 (2认同)
  • 我认为你的意思是'它让我感到困惑':)但是,我同意 - Java接口经常会遇到这个奇怪的问题,即声明从不打算调用的方法. (2认同)

use*_*552 30

仅当新选择的位置与先前选择的位置不同或者没有选定的项目时,才会调用AdapterView.OnItemSelectedListener.

但是,即使您每次都单击相同的项目,也会调用AdapterView.OnClickListener.

http://developer.android.com/reference/android/widget/AdapterView.OnItemSelectedListener.html

  • 即使文档说明了这一点,但onitemselectedlistener对listview不起作用,同样onitemclicklistener对spinner视图不起作用,因为它是一般规范,不包括/排除任何特定异常. (5认同)