BaseAdapter幾個重載方法介紹isEnabled,getViewTypeCount ,getItemViewType

public boolean isEnabled (int position):如果列表的一項item是separator(充當分隔項目,跟其他item項一樣,也可以不一樣,但是無法進行點擊),返回true,也就是可以點擊,並接收響應事件。如果此時position處的item是separator的話,返回false,也就無法響應點擊或觸摸事件,此項目是不可以點擊的,表現形式爲點了沒任何反應,可以充當一個列表中的分隔,當然可以自定義這個分隔項的佈局。


public int getItemViewType (int position):以int數值型返回itemView的類型。一般普通列表的item都是一樣的佈局,也就是說這個列表只有一種類型,但是很多時候我們需要列表顯示不同的item,比如有的列表有普通item和separator兩種類型,item用於響應用戶點擊事件,separator用於分隔item,不可以點擊,這樣這個列表就有了兩種類型,重載這個方法,如果當前位置是item,我們可以返回1,如果是separator我們可以返回2,以此類推。



public int getViewTypeCount ():以int數值類型返回列表擁有的itemview的個數,比如上例中,有兩種類型的item,此方法返回2。

具體用法可以參照這個鏈接:http://android.amberfog.com/?p=296
不過此鏈接的例子實現了不同item的佈局,但是作爲separator的item依然可以點擊,在例子中重載isEnabled方法,當前位置如果爲separator時,返回false即可。

理解了很久纔想通,直到看到上面那個鏈接才明白。佩服至極,能如此地透徹理解!

發佈了90 篇原創文章 · 獲贊 7 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章