onItemSelected
スピナーの機能を少しテストしています。私がやっていることはかなり単純だと思います。アクティビティにテキスト ビューがあり、開始文字列値はありません (つまり、テキスト ビューは空白で始まります)。2 つのスピナーがあり、選択した項目の文字列値を取得するように onItemSelected 関数を設定し、この値をいずれかのスピナーのテキストビューの文字列値に設定します。十分に単純ですが、スピナーから選択されたアイテムを表示することで textView を応答させることはできません。さらに悪いことに、onItemSelected 関数を適切に呼び出すこともできません。私のスピナーとテキストビューのxmlは次のとおりです。
<Spinner
android:id="@+id/iHaveSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/haveTextField"
android:layout_marginTop="16dp" />
<Spinner
android:id="@+id/iWantSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/iWantView"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/resultView"
android:layout_below="@+id/iWantSpinner"
android:layout_centerHorizontal="true"
android:layout_marginTop="19dp"/>
およびアクティビティの onItemSelected 関数:
public void onItemSelected(AdapterView<?> spinner, View view, int pos, long id) {
int ID = spinner.getId();
TextView result = (TextView) findViewById(R.id.resultView);
switch(ID)
{
case (R.id.iHaveSpinner):
String string1 = spinner.getItemAtPosition(pos).toString();
result.setText(string1);
break;
case (R.id.iWantSpinner):
String string2 = spinner.getItemAtPosition(pos).toString();
result.setText(string2);
break;
}
}
onItemSelected
機能を正しく実行していませんか? 文字列値を編集できない textView のプロパティはありますか? それはかなり簡単に見えますが、行き詰まっているようです