[Android] Adapter - ArrayAdapter

摘要:[Android] Adapter - ArrayAdapter

Android 透過 Adapter 橋接資料來源與View,然而為了應付各種不同的數據來源與View元件,因此發展出各式不同的adapter。

其中,最常見的Adapter如下:(1)  ArrayAdapter (2) SimpleAdapter (3) BaseAdapter (4) SimpleCursorAdapter

(1) ArrayAdapter

  • 陣列與ListView之間的橋樑。
  • 可將陣列中的資料逐一對應到 ListView中顯示。
  • 一般 ArrayAdapter 中顯示的ListView每行通常只有一個TextView

STEP1: 在 Layout 加入 ListView。

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.ex01_arrayadapter.MainActivity$PlaceholderFragment" >

    <ListView
        android:id="@+id/listview_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" >
    </ListView>

</RelativeLayout>

STEP2 取得ListView物件,並設定Adapter。

 private String[] data = { "Android1", "Android2","Android3", "Android4", "Android5",
    			"Android6", "Android7","Android8" };

View rootView = inflater.inflate(R.layout.fragment_main, container, false);
_listview_data = (ListView)rootView.findViewById(R.id.listview_data);
_listview_data.setAdapter(new ArrayAdapter(this.getActivity(),android.R.layout.simple_list_item_1, data));

Sample Code

https://www.asuswebstorage.com/navigate/s/468284542D7745429D2BE4305A4AC074Y