ListView の Android カスタム行レイアウト
ListView を扱う場合、その行のレイアウトをカスタマイズする必要がある場合があります。この場合の目標は、静的な "HEADER" と動的に変化する "Text" の 2 つのコンポーネントで構成される行を設計することです。
解決策
この場合、カスタム行レイアウトはファイル row.xml で定義されます。このレイアウトには 2 つの必須要素が含まれています:
<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:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout></code>
メイン アクティビティ レイアウト (main.xml) が更新されて ListView が含まれ、カスタム アダプター (yourAdapter) が実装されます:
<code class="xml"><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" /> </LinearLayout></code>
<code class="java">public class yourAdapter extends BaseAdapter { Context context; String[] data; private static LayoutInflater inflater = null; // ... (Constructor and methods as per the provided answer) }</code>
最後に、Java アクティビティ クラス (StackActivity) で、アダプターが ListView に設定されます。
<code class="java">public class StackActivity extends Activity { ListView listview; // ... (Activity methods as per the provided answer) listview.setAdapter(new yourAdapter(this, new String[] { "data1", "data2" })); }</code>
その結果、静的な HEADER と動的な Text コンテンツを表示するカスタム行を含む ListView が作成されます。
以上がAndroid ListView で静的ヘッダーと動的テキストを使用したカスタム行レイアウトを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。