《Android》『ListView』- ListView 的基本用法(靜態載入)
《Android Developers 參考文獻》
《簡單介紹》
ListView 按照字面上的意思來看,就是一組清單的視圖,當我們需要以清單的方式條列出像是通訊錄、簡訊等眾多選項的資料時,ListView 元件就派上用場了。
《ListView 的基本用法》
這篇首先來介紹 ListView 的基本用法,也就是靜態宣告的方式,以下透過程式碼片段的方式,說明靜態宣告 ListView 的方式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <TextView android:id="@+id/txt_ItemSelect" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/region_selected" android:textSize="20sp" /> <ListView android:id="@+id/lsv_main" android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/region_list" //靜態指定清單資料 android:divider="#ffff0000" android:dividerHeight="2dp" /> </LinearLayout> |
activity_main.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?xml version="1.0" encoding="utf-8"?> <resources> . . <string-array name="region_list"> //定義清單資料 <item>Item 01</item> <item>Item 02</item> <item>Item 03</item> <item>Item 04</item> </string-array> . . </resources> |
string.xml
所謂的靜態宣告,就是在程式開始執行之前,就已經在介面佈局檔(.xml)中,宣告並且設定好所要使用的 ListView 頁面資料,在此範例中,我們透過 android:entries=”@array/region_list” 的方式,將 ListView 所要顯示的清單內容,預先指定為在資源檔(string.xml)中所定義好的 region_list 清單資料。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
. . . public class MainActivity extends Activity { private TextView txt_ItemSelect; private ListView lsv_main; //ListView 宣告 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txt_ItemSelect = (TextView) findViewById(R.id.txt_ItemSelect); lsv_main = (ListView) findViewById(R.id.lsv_main); lsv_main.setOnItemClickListener(lsv_main_OnItemClickListener); } private AdapterView.OnItemClickListener listViewRegionOnItemClick = new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub txt_ItemSelect.setText("你選擇了: " + ((TextView) view).getText()); } }; ... } . . . |
MainActivity.java
在定義好 ListView 的介面以及內容後,在程式碼裡,我們只需要很簡單的宣告即可以使用,這是最基本的 ListView 用法,它完全不需要再另外設定 Adapter 以及清單內容等屬性,當然,若是你想要做更多不一樣的變化,這種宣告方式是遠遠不夠的,下一篇文章,我會繼續來介紹 ListView 的動態載入方式。
臉書留言
一般留言