標籤:listview android
項目源碼下載
ListView
- 就是用來顯示一行一行的條目的
- MVC結構
- M:model模型層,要顯示的資料 ————people集合
- V:view視圖層,使用者看到的介面 ————ListView
- c:control控制層,操作資料如何顯示 ————adapter對象
- 每一個條目都是一個View對象
BaseAdapter
//系統調用此方法,用來獲知模型層有多少條資料 @Override public int getCount() { return people.size(); }
//系統調用此方法,擷取要顯示至ListView的View對象 //position:是return的View對象所對應的資料在集合中的位置 @Override public View getView(int position, View convertView, ViewGroup parent) { System.out.println("getView方法調用" + position); TextView tv = new TextView(MainActivity.this); //拿到集合中的元素 Person p = people.get(position); tv.setText(p.toString()); //把TextView的對象返回出去,它會變成ListView的條目 return tv; }
- 螢幕上能顯示多少個條目,getView方法就會被調用多少次,螢幕向下滑動時,getView會繼續被調用,建立更多的View對象顯示至螢幕
條目的緩衝
- 當條目划出螢幕時,系統會把該條目緩衝至記憶體,當該條目再次進入螢幕,系統在重新調用getView時會把緩衝的條目作為convertView參數傳入,但是傳入的條目不一定是之前被緩衝的該條目,即系統有可能在調用getView方法擷取第一個條目時,傳入任意一個條目的緩衝
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
【Android-005】【ListView】