スポンサーサイト

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

Android simple_list_item_2の利用方法

ListActivityでのsimple_list_item_2の利用方法	
AndroidではListViewの表示形式として、デフォルトでいくつかのレイアウト定義が準備されています。
その中の「simple_list_item_2」は2行で表示するレイアウトです。
利用方法があいまいだったためメモします。
image002 (7)


■simple_list_item_2とは?
レイアウトとしては、TextViewが二つ定義されています。
○simple_list_item_2の中身
1: <?xml version="1.0" encoding="utf-8"?>
2: <TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
3: android:paddingTop="2dip"
4: android:paddingBottom="2dip"
5: android:layout_width="fill_parent"
6: android:layout_height="wrap_content"
7: android:minHeight="?android:attr/listPreferredItemHeight"
8: android:mode="twoLine"
9: >
10: <TextView android:id="@android:id/text1"
11: android:layout_width="fill_parent"
12: android:layout_height="wrap_content"
13: android:layout_marginLeft="6dip"
14: android:layout_marginTop="6dip"
15: android:textAppearance="?android:attr/textAppearanceLarge"
16: />
17: <TextView android:id="@android:id/text2"
18: android:layout_width="fill_parent"
19: android:layout_height="wrap_content"
20: android:layout_below="@android:id/text1"
21: android:layout_alignLeft="@android:id/text1"
22: android:textAppearance="?android:attr/textAppearanceSmall"
23: />
24: </TwoLineListItem>


■simple_list_item_2を利用したサンプル
実際にsimple_list_item_2を利用したサンプルを紹介します。
今回は表示するデータをDBから取得するのではなく、プログラム上で直接指定したいと思います。
そのため「MatrixCursor」を利用してデータを準備します。
○サンプルソース
1: package sample.list;
2:
3: import android.app.ListActivity;
4: import android.da ase.MatrixCursor;
5: import android.os.Bundle;
6: import android.view.View;
7: import android.widget.ListView;
8: import android.widget.SimpleCursorAdapter;
9: import android.widget.Toast;
10:
11: public class ListSample extends ListActivity {
12: @Override
13: public void onCreate(Bundle savedInstanceState) {
14: super.onCreate(savedInstanceState);
15: setContentView(R.layout.main);
16:
17:
18: MatrixCursor c = new MatrixCursor(new String[] { "_id", "name", "value" }); ①
19: c.addRow(new String[] {"1","上段に表示されます1","下段に表示されます1" });
20: c.addRow(new String[] {"2","上段に表示されます2","下段に表示されます2" });
21: c.addRow(new String[] {"3","上段に表示されます3","下段に表示されます3" });
22: c.addRow(new String[] {"4","上段に表示されます4","下段に表示されます4" });
23:
24: SimpleCursorAdapter adapter = new SimpleCursorAdapter( ②
25: this,
26: android.R.layout.simple_list_item_2 ③
27: , c, ④
28: new String[] { "name","value" }, ⑤
29: new int[] { android.R.id.text1, android.R.id.text2 } ⑥
30: );
31:
32: setListAdapter(adapter);
33: }
34:
35: @Override
36: protected void onListItemClick(ListView l, View v, int position, long id) {
37: super.onListItemClick(l, v, position, id);
38: Toast.makeText(this, "ID:"+id+" がクリックされました", Toast.LENGTH_LONG).show();
39: }
40: }

①Adapterを利用してListへデータをバインドするために、Cursorオブジェクトを引数として渡す必要があります。
そこで「MatrixCursor」を利用してCorsorオブジェクトを生成します。
定義は必須の「_id」と上段へ表示する「name」、下段へ表示する「value」として定義します。
addRowでString配列としてデータを追加します。
②ListへバインドするAdapterを生成します。
③ListViewのレイアウトを設定します。今回はsimple_list_item_2をレイアウトとして設定します。
④バインドするCursorオブジェクトを設定します。
⑤生成したCorsorオブジェクトでの表示する項目を指定します。
⑥データをバインドするsimple_list_item_2のTextViewを指定します。
○main.xml
1: <?xml version="1.0" encoding="utf-8"?>
2: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3: android:orientation="vertical"
4: android:layout_width="fill_parent"
5: android:layout_height="fill_parent"
6: >
7: <ListViewandroid:id="@+id/android:list"
8: android:layout_width="fill_parent"
9: android:layout_height="wrap_content"
10: />
11: </LinearLayout>
スポンサーサイト

コメントの投稿

非公開コメント

おすすめアプリ
カテゴリ
最新記事
リンク
アクセスカウンター
アクセス解析
imobile
i-mobile
i-mobile
i-mobile
i-mobile
i-mobile
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Amazon
Androidお勧め参考書
EC studio
商品
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。