こんにちは私はリストビューで2つのアイテムを表示しようとしています。私は次の方法でこれを行うことができることを知っています。 ArrayList<Map<String, String>>
しかし、私はこの2つのアイテムと一緒に1つの画像を表示する必要があります。
これが私が欲しい画像です。
1つのimageviewと2つのtextviewでxmlファイルを作成します。これを行う方法がわかりません。
クラスArrayAdapter
を実装し、独自のを作成する必要がありますListAdapter
。
参照:http ://www.vogella.com/articles/AndroidListView/article.html
このようなリストの実装は次のとおりです。Contact-Picture-Sync
セルのデザインを使用してレイアウトファイルを作成する必要があります。アダプタでは、現在のレイアウトのinflateメソッドをプログラムで呼び出して、レイアウトからビューを取得し、フィールドに入力して返します。
私にとってそれを行う方法は、BaseAdapterを使用することです。アクティビティのリストビュー、アイテムレイアウト用の1つのxmlが必要です。次に、リストビューでアダプタを使用してsetAdapter()を呼び出します。
ここでいくつかの情報を見つけることができます: Android(初心者レベル)のリストビューで画像を遅延ロードしますか?
何よりもまず、次のような独自のオブジェクトでArrayListを使用する必要があります。
Class MyListeItem {
String text1;
String text2;
String image;
}
List<MyListItem> = new ArrayList<MyListItem>();
次に、リストを保持するBaseAdapterを拡張するクラスを作成します。xmlファイルを作成します。res / layoutsフォルダーおよびBaseAdapterのgetView()メソッドの「my_listitem」は次のようになります。
LinearLayout layout = (LinearLayout)View.inflate(context, R.layout.my_listitem, null);
これは、でlist item
使用できるxmlレイアウトファイルです。simplest attributes
<?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="wrap_content"
android:gravity="center_vertical"
android:minHeight="?android:attr/listPreferredItemHeight"
android:orientation="horizontal"
android:padding="16dp">
<ImageView
android:id="@+id/list_item_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:orientation="vertical"
android:paddingLeft="16dp">
<TextView
android:id="@+id/list_item_date_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tomorrow"/>
<TextView
android:id="@+id/list_item_forecast_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Clear"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/list_item_high_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="25°"/>
<TextView
android:id="@+id/list_item_low_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="6°"/>
</LinearLayout>
</LinearLayout>
これはこのように表示されます
そしてあなたはあなたの要件に一致するようcan remove
に最後にネストされましたLinearLayout