私のアクティビティには 2 つのスピナーがあります。スピナーの 1 つである comExpiry は、別のスピナーである comSpinner から選択された値に基づいて入力されます。ただし、ICS を実行しているエミュレーターで comExpiry のテキストと背景色の両方が白に設定されているときに comSpinner が正しく表示され、読み取り不能になるという問題が発生しています。
Froyo と Gingerbread の両方で問題なく動作することに注意してください。comSpinner に付属しているリスナーを削除すると、意図したとおりにスピナーが表示されることに気付きました。私はどこでも見ましたが、解決策が見つかりません。どんな助けでも大歓迎です。
comSpinner = (Spinner) findViewById(R.id.watchListSpinnetComm);
comExpiry = (Spinner) findViewById(R.id.watchListSpinnerExpiry);
ArrayAdapter<String> expAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,
McxCommApp.comSelect.get(0));
expAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
comExpiry.setAdapter(expAdapter);
myAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, McxCommApp.comName);
myAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
comSpinner.setAdapter(myAdapter);
comSpinner.setOnItemSelectedListener(new myListener());
ItemSelectedListener コードは次のとおりです。
public class myListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
expAdapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.spinner_a,
McxCommApp.comSelect.get(pos));
expAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
comExpiry.setAdapter(expAdapter);
}
public void onNothingSelected(AdapterView<?> parent) {
// Do nothing.
}
}
レイアウトを定義する XML セグメント:
<TableRow
android:id="@+id/watchListTable"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Spinner
android:id="@+id/watchListSpinnetComm"
android:layout_height="32dip"
android:layout_column="1"
android:layout_gravity="center_vertical"
android:paddingLeft="5dip" />
<Spinner
android:id="@+id/watchListSpinnerExpiry"
android:layout_width="145dip"
android:layout_height="32dip"
android:layout_column="2"
android:layout_gravity="center_vertical"
android:paddingLeft="5dip" />
<Button
android:id="@+id/watchListAdd"
android:layout_width="wrap_content"
android:layout_height="40dip"
android:layout_gravity="center_vertical"
android:text="+"
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>