1
アイコンと名前を持つ行ごとにリストビューを生成する必要があります。コードは次のようになります。次のようにリストビューでは、アンドロイドの行ではなくオブジェクトが表示されます
public class MyListActivity extends ListActivity {
...
...
ArrayList<StringBuilder> categories = new ArrayList<StringBuilder>();
categories.add(new StringBuilder("xyaq"));
categories.add(new StringBuilder("wers"));
categories.add(new StringBuilder("test2"));
categories.add(new StringBuilder("asfda"));
categories.add(new StringBuilder("hoyio"));
ArrayList<RelativeLayout> departments = new ArrayList<RelativeLayout>();
for (StringBuilder category : categories) {
RelativeLayout categoryRow = (RelativeLayout) mInflater.inflate(
R.layout.products_row, null);
ImageView tempImage = (ImageView) categoryRow.getChildAt(0);
tempImage.setBackgroundResource(R.drawable.ic_launcher);
TextView tempTextView = (TextView) categoryRow.getChildAt(1);
tempTextView.setText(category);
departments.add(categoryRow);
}
ArrayAdapter<RelativeLayout> departmentAdaptor = new ArrayAdapter<RelativeLayout>(
this, android.R.layout.simple_list_item_1, departments);
setListAdapter(departmentAdaptor);
}
とproducts_row.xmlは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/deptIcon"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="#FFFFFF"
android:clickable="false"
android:contentDescription="@string/hello"
android:scaleType="fitXY" />
<TextView
android:id="@+id/deptName"
android:layout_width="fill_parent"
android:layout_height="54dp"
android:layout_alignLeft="@id/deptIcon"
android:layout_marginLeft="80dp"
android:gravity="left|center"
android:textSize="25dp"
android:textStyle="bold" />
</RelativeLayout>
私が直面しています問題は、私がイメージして対応するテキストでの行を見ることができないです。代わりに、相対レイアウトオブジェクトのリストを表示します。
ありがとうございます@Pankaj。カスタムアダプターを作成することがトリックでした!しかし、なぜ私の実装方法(リスト行のarraylistをarrayadapterに渡す)がうまくいかないのか不思議です。 :-) –
ArrayListからRelationを自動的にリストビューに割り当てません。コンポーネントに手動でデータを割り当てる必要があります。リストビューの動作は – Pankaj
Oh..okです。とった。説明をありがとうございます。 –