1. 程式人生 > >Android新手入門2016(8)--ListView之ArrayAdapter

Android新手入門2016(8)--ListView之ArrayAdapter

pos bject 了解 指定格式 pack extend line avi per

本文來自肥寶傳說之路,引用必須註明出處!


ListView是Android中經常使用的控件。

什麽是列表視圖,讓我們先看看圖:

技術分享

最常見的樣例就是各種菜單的下啦列表。

要實現列表,須要完畢三個要素:

1.ListView 把全部的數據按指定的格式排成列表。

列表中每一項能夠稱為Item(如上圖This is Title)。

能夠想象得出,要顯示列表。就要先弄成相應的格式

2.adapter 適配器就是這樣的ListView可以識別的格式,當然適配器有幾種。以下再細說。適配器是指定格式的數據。可是我們數據庫或者網絡其它地方來源的數據不是這樣的格式的。所以就有了適配器這個中介。

3.數據 須要顯示的數據

處理步驟:獲取數據=》數據整理成可識別的格式。即adapter=》把adapter放進ListView中=》顯示

adapter有三種,ArrayAdapter。SimpleAdapter和SimpleCursorAdapter

ArrayAdapter:數組適配器,最簡單的適配器。僅僅能顯示一行字,上圖就是了。

看代碼前,補充一些java知識。ArrayList為動態數組。相當於C++的vector了,點一下深入了解

我們先看看代碼:

package com.fable.helloworld;

import android.app.Activity;
import android.os.Bundle; 
import android.widget.ArrayAdapter;//數組適配器的包
import android.widget.ListView; //列表視圖的包 

public class HelloWorldActivity extends Activity { 
    @Override
    protected void onCreate(Bundle savedInstanceState) { 
    	//數據來源,這裏是測試數據
    	List<String> data1 = new ArrayList<String>();
    	data1.add("test1");
    	data1.add("測試數據2");
    	data1.add("測試數據3");
    	data1.add("測試數據4");
        
        super.onCreate(savedInstanceState);   
        //綁定XML中的ListView。作為Item的容器。
        ListView listView = new ListView(this);  
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,data1);
        //加入而且顯示  
        listView.setAdapter(adapter);  
        setContentView(listView);
    } 
}
上面使用的android.R.layout.simple_expandable_list_item_1為Android提供基礎的列表項的布局文件。

這裏用到的構造函數 ArrayAdapter<String>(Context context, int resource, List<String> objects)。Context為上下文。這裏是當前的Activity,所以傳this進去。resource為資源文件的id,記錄在R.java裏面的(不知道R.java的能夠看看這裏)。objects為源數據。

通過ArrayAdapter整合數據。放進ListView,就能夠顯示出來了。



技術分享



Android新手入門2016(8)--ListView之ArrayAdapter