3

我的活动中有 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>
4

0 回答 0