public void onItemClick(AdapterView arg0, View view, int position,long arg3)详解【整理自网络】
参考自:
http://blog.csdn.net/zwq1457/article/details/8282717
http://blog.iamzsx.me/show.html?id=147001
public void onItemClick(AdapterView<?> arg0, View view, int position,long id) 假设有X, Y两个listview,X里有1,2,3,4这4个item,Y里有a,b,c,d这4个item。 如果你点了b这个item。则有如下: public void onItemClick
(AdapterView<?> parent,
// parent相当于listview Y适配器的一个指针,可以通过它来获得Y里装着的一切东西,再通俗点就是说告诉你,你点的是Y,不是X
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里瞅瞅,看了之后心里才踏实)
PS:需要注意区分position与long id的区别。position事实上就是ListView中被点击的view的位置,注意,在ListView中是不负责处理headerView和footViewer的,所以,这个位置position应该是这个被点击的view在数组[所有的headerView,用户添加的view,所有的footerView]中的位置,而id是来自于adapter.getItemId(position)。当用户添加了footView或者headView后可能会导致position和id的值不同。事实上,如果position指向了headerView或footerView,那么返回-1,否则,将返回在用户view数组的位置。也就是说id=position-headerView的个数(id < headerviewer的个数+用户view的个数),否则返回-1。
作者:KillerLegend
出处:http://www.cnblogs.com/KillerLegend/
分享最新的资源,分享个人所得,欢迎关注我的新浪微博
新浪微博主页:ikey4u
我的个人博客:www.ikey4u.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。