Android ListView のカスタム行項目の作成: 詳細ガイド
この記事では、カスタム行項目を作成する方法について説明します。 Android アプリケーションの ListView の場合。
課題
次のレイアウトの行を必要とする ListView があります。
HEADER Text
「HEADER」テキストは静的なままですが、「Text」コンテンツは動的に変化します。
最初のアプローチ
最初に、String 配列を設定して、それをArrayAdapter を使用し、データが変更されるたびに設定します:
data_array = populateString(); adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, data_array); listView.setAdapter(adapter);
ただし、既存のレイアウトでは指定された形式でデータを表示できなかったため、このアプローチでは望ましい結果が得られませんでした。
カスタム行レイアウト
この制限を克服するために、行項目のカスタム レイアウトを作成します:
row.xml:
<code class="xml"><?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Header"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/text"/> </LinearLayout></code>
メイン XML レイアウト
次に、ListView を含むようにメイン XML レイアウトを調整します。
<code class="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="fill_parent" android:orientation="horizontal" > <ListView android:id="@+id/listview" android:layout_width="fill_parent" android:layout_height="fill_parent" > </ListView> </LinearLayout></code>
アダプター
次にアダプターを定義します:
<code class="java">class yourAdapter extends BaseAdapter { // ... (the adapter code) ... @Override public View getView(int position, View convertView, ViewGroup parent) { // ... (customizing view) ... TextView text = (TextView) vi.findViewById(R.id.text); text.setText(data[position]); return vi; } }</code>
Java アクティビティ
最後に、Java アクティビティ内:
<code class="java">public class StackActivity extends Activity { // ... (the activity code) ... @Override public void onCreate(Bundle savedInstanceState) { // ... (setting up listview) ... listview.setAdapter(new yourAdapter(this, new String[] { "data1", "data2" })); } }</code>
次の手順に従うと、ListView のカスタム行項目を作成でき、データの表示をより柔軟にカスタマイズできるようになります。
以上がAndroid ListView の行項目をカスタマイズする方法: ステップバイステップ ガイド?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。