スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Android/SimpleAdapterを使ってArrayListのデータをリストビュー表示させる方法

■SimpleAdapter
SimpleAdapter(Context context, List> data, int resource, String[] from, int[] to)

context:表示するView。今回はthis。
data:ListViewに表示するデータで、MapのListでデータを保持する。
resources:ListViewに表示するウィジェットの定義されているresourceのid。
from:ListViewに表示するdataのMapのキー項目。
to:ListViewに表示するウィジェットが定義されているresourcesの中のウィジェットのid。fromの0番目の値がtoの0番目に対応する。以降、1番目は1番目というように対応する。

listview1


■main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<ListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>

■row.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="60dip"
    android:orientation="horizontal"
    >
<TextView
    android:id="@+id/num"
    android:layout_width="100dip"
    android:layout_height="wrap_content"
    />
<TextView
    android:id="@+id/name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
</LinearLayout>

■MainActivity.java

public class MainActivity extends Activity {

String[] num = new String[] { 
        "01", "02", "03", "04", "05", 
        "06", "07", "08", "09", "10" 
    }; 

String[] name = new String[] { 
        "あいう", "かきく", "さしす", "たちつ", "なにぬ", 
        "はひふ", "まみむ", "やゆよ", "らりる", "わをん" 
    }; 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        // データを格納するためのArrayListを宣言
        ArrayList<HashMap<String, String>> data
= new ArrayList<HashMap<String, String>>();

        for(int i = 0; i< 10; i++){
         HashMap<String, String> map
= new HashMap<String, String>();

         map.put("num", num[i]);
         map.put("name", name[i]);
        
         // 作成したmapをdataに追加
         data.add(map);
         }
        /*
 * 作成したdataとカスタマイズしたレイアウトrow.xmlを
         * 紐付けたSimpleAdapterを作成する
         */
        SimpleAdapter sa
= new SimpleAdapter(this, data, R.layout.row, 
                new String[]{"num", "name"},
                new int[]{R.id.num, R.id.name}
        );
        // main.xmlのListViewにsaをセットします。
        ListView lv = (ListView)findViewById(R.id.listview);
        lv.setAdapter(sa);
    }
}
関連記事
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

mogarhetoric

Author:mogarhetoric
アプリ好きな人です。アンドロイドアプリとか作ったりしてます。

最新記事
月別アーカイブ
カテゴリ
検索フォーム
リンク
QRコード
QR
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。