【发布时间】:2016-08-05 18:17:33
【问题描述】:
我正在使用微调器将值显示为下拉列表,我正在使用以下代码更改微调器文本值
<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。
我知道当我在横向或纵向模式下旋转屏幕时,活动周期会重新启动,那么为什么微调器会变为空。
请给我适当的解决方案。
谢谢
【问题讨论】:
-
返回
null的getChildAt()还是Spinner本身是null? -
只有 arg0.getChildAt(0) 在旋转屏幕时变为空
-
这里有一个对我有帮助的类似问题:stackoverflow.com/questions/20830606/…
标签: android null android-spinner