我正在使用下拉框来显示值,我通过以下代码更改下拉框文本值:
<Spinner
android:id="@+id/showUnit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:entries="@array/unitName"
android:background="@drawable/gradient_spinner_map_miles_button" />
showUnit.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
String item = arg0.getItemAtPosition(arg2).toString();
if (arg1 != null && arg1 instanceof TextView) {
((TextView)arg1).setTextColor(Color.WHITE);
((TextView) arg1).setTextSize(13);
((TextView) arg1).setGravity(Gravity.CENTER);
}
}
showUnit = (Spinner) findViewById(R.id.showUnit);
但是,当我尝试旋转屏幕时,((TextView)arg0.getChildAt(0))
返回 null。
我知道当我在横向或纵向模式下旋转屏幕时,活动周期会重新启动,那么为什么 Spinner 会变为空呢?
请给出适当的解决方案。
谢谢。
getChildAt()
×┐öÕøŞõ║ånull
×┐ݵݻSpinner
µ£¼×║½õ©║null
´╝ş - Piotr Chojnacki