onItemClick(AdapterView<?> arg0, View arg1, int arg2, long&n

来源:互联网 发布:python 执行shell命令 编辑:程序博客网 时间:2024/06/02 04:37


1、举个例子你会理解的更快:X, Y两个listview,X里有1,2,3,4这4个item,Y里有a,b,c,d这4个item。
如果你点了b这个item。如下:
View view,     // view是你点b item的view的句柄,就是你可以用这个view,来获得b里的控件的id后操作控件
int position,    // position是b在Y适配器里的位置(生成listview时,适配器一个一个的做item,然后把他们按顺序排好队,在放到listview里,意思就是这个b是第position号做好的)
long id     // id是b在listview Y里的第几行的位置(很明显是第2行),大部分时候position和id的值是一样的,如果需要的话,你可以自己加个log把position和id都弄出来在logcat里瞅瞅,看了之后心里才踏实
 
2、//这里的arg2指的是你点击的listview的项的id号,就是点的是哪一条,可以用switch(arg2)来设置,arg2的从0开始
 
 
3、AdapterView<?> arg0 参数得意思:官方解释说:the AdapterView where the click happened. 也就是当前点击的adapterview,这个参数是系统自动传入的,我们也不用调用,一般常用第二个和第三个参数。
然后给你讲AdapterView<?> ,这个属于java基础的内容,叫做泛型,就是告诉你传入的参数是哪种类型。 比如String<?>,List<T>,Map<K,V>,String<E>
?表示不确定的java类型。
 表示java类型。
K V 分别代表java键值中的Key Value。
E 代表Element。
ListView, GridView, Spinner and Gallery 中都要用到adapter,所以这里用问好表示不确定传入的是哪种类型,不用我们关系,系统自动传入。

public  void onItemClick (AdapterView<?> parent,    // parent相当于listview  Y适配器的一个指针,可以通过它来获得Y里装着的一切东西,再通俗点就是说告诉你,你点的是Y,不是X - -、


0 0