安卓開發(4):ListView的使用,arrayAdapter,simpleAdapter

ListView是安卓裏面一個比較實用的部件,是安卓列表形式展示每一項內容,類似於微信的會話列表吧。

在佈局裏的用法比較簡單:


這樣劇創建了一個空的列表,然後要在.java中填充數據。填充數據用到Adapter,常用的Adapter一般有ArrayAdapter、SimpleAdapter,但這兩個功能都有限,自定義Adapter當然能滿足更多需求。

ArrayAdapter

先上代碼:

operationList是你獲得的ListView,operations是要放的數據,創建Adapter的參數有context上下文(MainActivity.this),textViewResourceId(資源id,代表一個textView,也可以使用系統提供的默認佈局,即不用自己創建也可以),數組或List。

這個Adapter的缺點就是隻能顯示字符串,實現的功能比較單一。

SimpleAdapter


這個是要顯示的列表中每一項的佈局R.layout.item,然後數據data是這樣的:


data是一個list,裏面每一項都是鍵值對(Map表示),創建時:


參數有:context,鍵值對數組,單項的佈局資源,string數組(指明data中哪些鍵的值要取出來),佈局中的部件id數組(跟上一個參數一一對應,上一個參數的每一個值對應這裏每一個部件的值)

效果是這樣的:



接下來講講ListView的觸發事件:

類似於button添加監聽器:


注意返回值i與l,i是點擊的這一項在列表中的位置,l是這一項的id,這兩種Adapter中i與l是相等的。

有一個小問題要注意的是長按item如果同時觸發了短按事件,那就是長按事件中返回了true,改成false就好。

動態增刪數據

可以對data(鍵值對數組)進行增刪操作。但是同時要用Adapter來調用notifyDataSetChanged()纔可以正常更新列表顯示:


但是不能把data指向一個新地址:



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