我的活动中有 2 个旋转器。其中一个微调器 comExpiry 基于从另一个微调器 comSpinner 中选择的值进行填充。但是,我遇到了一个问题,即 comSpinner 正确显示,而 comExpiry 的文本和背景颜色在运行 ICS 的模拟器中都设置为白色,因此不可读。
请注意,它在 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>