そこで、リストにデータを入力するためのカスタムArrayAdapterを作成しました。これは、getView(int position、View v、ViewGroup parent)をオーバーライドするだけです。
私がこのようにそれを使うならば:
public class MyActivity extends ListActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(adapter);
}
}
すべてが正常に機能し、すべてのエントリでリストが正しく表示されます。
ここで、XMLレイアウトの<ListView/>で同じアダプタクラスを使用しようとすると、次のようになります。
ListView lv = (ListView) v.findViewById(R.id.list);
MyAdapter a = new MyAdapter (lv.getContext(), R.layout.list_item, entries);
lv.setAdapter(a);
リストの最初のエントリのみが表示されます。
私はすでにadapter.add(entry.get(i));を使用して手動でアイテムを追加しようとしました。そしてadapter.notifyDataSetChanged();を呼び出します。その後、それは役に立たなかった。
e:XMLレイアウトは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="1dp">
<TextView
android:id="@+id/bc_path"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="3dp"
android:textStyle="bold"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<TextView
android:id="@+id/bc_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="3dp"
android:textStyle="bold"
android:textAppearance="?android:attr/textAppearanceMedium"
android:background="@drawable/title_gradient"/>
<TextView
android:id="@+id/bc_genre"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="3dp"
android:background="@drawable/location_gradient"
android:textColor="#ffffff"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="0.4"
android:layout_marginTop="3dp"
android:layout_marginBottom="3dp">
<ImageButton
android:id="@+id/bc_homepage"
android:src="@drawable/homepage"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight=".1"
android:padding="0dp"
android:onClick="loadWebsite"
android:background="@drawable/black_button"
android:layout_margin="2dp"
/>
<ImageButton
android:id="@+id/bc_facebook"
android:src="@drawable/facebook"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight=".1"
android:padding="0dp"
android:onClick="loadWebsite"
android:background="@drawable/black_button"
android:layout_margin="2dp"
/>
<ImageButton
android:id="@+id/bc_myspace"
android:src="@drawable/myspace"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight=".1"
android:padding="0dp"
android:onClick="loadWebsite"
android:background="@drawable/black_button"
android:layout_margin="2dp"
/>
<ImageButton
android:id="@+id/bc_fav"
android:src="@drawable/d_attends"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight=".1"
android:padding="0dp"
android:onClick="favBand"
android:background="@drawable/black_button"
android:layout_margin="2dp"
/>
</LinearLayout>
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"/>
</LinearLayout>