Android 適配器BaseAdapter詳解
來源:程序員人生 發布時間:2014-12-25 08:08:09 閱讀次數:3354次
public int getCount()
數據域大小方法
public Object getItem(int arg0)
返回每一個Item的數據據
public long getItemId(int arg0)
返回每一個Item的ID
View getView(int arg0, View arg1, ViewGroup arg2)
最重要的是:重繪視圖,調用次數是由第1個方法肯定的。最后將視圖返回。
注意:有些控件必須設置成沒有獲利焦點與點擊。
這幾個方法寫的內容基本不變,具有參考價值。
2.重寫數據區域使用ArrayList實現List。
先封裝1個數據類,再將這個數據類裝進List集合中。
3.綁定數據區域與視圖區域
setListAdapter(MyAdapter);
注:MyAdapter是自定義的Adapter。
其中的getview方法的3個參數是這樣的
/**
* @param position position就是位置從0開始
* @param convertView convertView是Spinner,ListView中每項要顯示的view
* @param parent parent就是父窗體了,也就是Spinner,ListView,GridView了
* @return 通常return 的view也就是convertView
* 繪制的內容均在此實現
*/
abstract public View getView(int position, View convertView, ViewGroup parent);
調用getView()逐1繪制每行。如果你的 getCount()返回值是0的話,列表將不顯示,一樣return 1,就只顯示1行。
系統顯示列表時,首先實例化1個適配器(這里將實例化自定義的適配器)。
當手動完成適配時,必須手動映照數據,這需要重寫getView()方 法。
系統在繪制列表的每行的時候將調用此方法。getView()有3個參數,position表示將顯示的是第幾行,covertView是從布局文 件中inflate來的布局。
我們用LayoutInflater的方法將定義好的item.xml文件提取成View實例用來顯示。
然后將xml文件中 的各個組件實例化(簡單的findViewById()方法)。這樣即可以將數據對應到各個組件上了。
但是按鈕為了響應點擊事件,需要為它添加點擊監聽 器,這樣就可以捕獲點擊事件。至此1個自定義的listView就完成了,
現在讓我們回過頭重新審視這個進程。系統要繪制ListView了,他首先取得要 繪制的這個列表的長度,然后開始繪制第1行,怎樣繪制呢?
調用getView()函數。在這個函數里面首先取得1個View(實際上是1個 ViewGroup),然后再實例并設置各個組件,顯示之。好了,繪制完這1行了。那再繪制下1行,直到繪完為止。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈