Android學習筆記(二十):迴歸簡單的ListView

來源:互聯網
上載者:User

在之前連續對ListVew作了逐步深入的探討,對於手持螢幕來講,其實可以比較簡單,如果別人願意付錢,不在乎將代碼再些一次,這是用戶端的開發和複雜伺服器的開發不同的地方。當然各人有各人的看法。絕大部分情況下,一個list元素可能左右各有一個widget就差不多,迴歸簡約風格,這也是小尺寸螢幕和手指操作的特點。

在資料的傳遞,Java裡面,具有<Key,Value>的Hash是非常重要的,可以方便增/刪/改/查,如果我們不使用資料庫儲存,或者將資料存放在記憶體中,<Key,Value>是最常用的。下面的例子來自於目前網上一個Android教程視頻(mars-droid),我們將關注如何將HashMap的資料放入到ListAdapter中。

HashMap資料放入ListAdapter中 

在這個例子中<key,value>是使用者名稱字和使用者IP。

步驟1:建立Android XML檔案

一個Android XML,裡面含有一個ListView,建立一個Android XML檔案,裡面描述每個ListView單元的水平布局的Layout,左邊是一個TextView,用於存放user_name,右邊一個TextView,用於存放user_ip。即分別對應key和vaule。

步驟2:初始化HashMap中的資料

        ArrayList<HashMap<String,String>> listdata =
new ArrayList<HashMap<String,String>>();

        HashMap<String,String> map1 = new HashMap<String,String>();
        HashMap<String,String> map2 = new HashMap<String,String>();
        ... ...
        map1.put("user_name","張三");
        map1.put("user_ip","192.168.0.1");
        map2.put("user_name","李四");
        map2.put("user_ip","192.168.0.2");
        ... ...
        listdata.add(map1);
        listdata.add(map2);
        ... ...

步驟3:設定ListView的適配器

SimpleAdapter listAdapter = new SimpleAdapter(this, listdata,
//第2個參數表示資料來源
                R.layout.list_entry, //對應描述list entry的XML檔案
                new String[]{"user_name","user_ip"}, 
//分別對應HashMap中的user_name,和user_ip的資料
                new int[]{R.id.username,R.id.userip}); //表明上面HaspMap中的user_name以及user_ip資料方便和layout中具體的widget,R.id.username以及R.id.userip對應。
setListAdapter(listAdapter);

這樣就可以了,其餘的按Android學習筆記(十一):Activity-ListView中最基礎的介紹。由於目前硬體水平的發展,包括電池能力的提供,簡潔明了的方式,比起那些繁複的處理要好,無須過渡考慮資源問題,我們只需在程式效率和編程藝術中取得平衡。說白了程式好不好,穩定不穩定是軟體的頭等問題,CPU能力和電源是ODM/OEM廠家頭等問題。

ListAdapter:CursorAdapter

一般來講,我們可以使用ArrayAdapter來適用很多情況,還有其他的Adapter,使用方式類似,但是CursorAdapter有些不一樣,通過newView()和bindView(),如果沒有建立,使用newView(),然後調用bindView(),如果已經建立,使用bindView()。

相關連結:我的Andriod開發相關文章

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.