リストビュー用のカスタムレイアウトアイテムがあります。レイアウトアイテムにスピナーがあり、通常は値を入力する必要があります。android:entries
このメソッドで私が抱えている問題は、エンドユーザーが値を変更できないことです。これを含めたいと思います。レイアウトアイテムとそれに続くスピナーが同じリストビューで複数回繰り返されるため、プログラムで1回入力する方法が必要だと思います。私はそれを理解することができません。
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/customListItem"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/exerciselbl" />
<Spinner
android:id="@+id/Exercise"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/workout_items" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/repslbl" />
<Spinner
android:id="@+id/Reps"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/reps_count" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/weightlbl" />
<EditText
android:id="@+id/Weight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number" />
</LinearLayout>
</LinearLayout>
つまりandroid:entries="@array/workout_items"
、XMLリソースファイル内のスピナーのすべてのアイテムを手動で入力することを意味し、プログラムの実行中にアイテムを動的に追加することはできないため、使用は避けたいと思います。