この記事では、カスタム リスト Android プログラムの実装について説明します。このプログラムは、カスタム アダプターを使用して
データをバインドし、contextView.setTag を介してデータをボタンにバインドする ListView を実装します。
システムがリスト (ListView) を表示すると、最初にアダプターがインスタンス化されます。この記事ではカスタム アダプターをインスタンス化します。カスタム アダプターを実装するには、データを手動でマップする必要があります。この場合、システムはリストの各行を描画するときにこのメソッドを呼び出します。
ListView が描画を開始すると、システムは自動的に getCount() 関数を呼び出し、関数の戻り値に基づいて ListView の長さを取得します。
この長さに基づいて、getView() を呼び出して各行を 1 つずつ描画します。 。
具体的な使用方法については、次のコードを参照してください。 Android カスタム ListView の 3 つのステップを覚えておいてください:
ステップ 1: メイン レイアウト ファイル、コンポーネント レイアウト ファイルなどを準備する
ステップ 2: データを取得して整理する
パート 3: バインディングデータ。ここでは、Adapter クラスを自分で記述して完成させます
1. まず、新しいリストを作成します。 使用法: LayoutInflater クラスは、実際の開発でも非常に役立ちます。その関数は findViewById() と似ていますが、違いは、LayoutInflater を使用してレイアウトの下の XML レイアウト ファイルを検索し、インスタンス化されることです。 。
getView() の 3 つのパラメータ: 位置はどの行が表示されるかを示し、covertView はレイアウト ファイルから拡張されたレイアウトです
。 LayoutInflater メソッドを使用して、定義された list.xml ファイルを表示用の View インスタンスに抽出します。次に、xml ファイル
3. activity_main.xml に ListView コントロールを追加します
Java コード
<?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" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:background="#f1e4f1"> <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#666872"/> <Button android:id="@+id/view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="详细"/> </LinearLayout> <TextView android:id="@+id/info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#666872"/> </LinearLayout>
4. アクティビティで ListView を呼び出します
Java コード