【Android-005】【ListView】

來源:互聯網
上載者:User

標籤: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】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.