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。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM