问题是:当我在后台运行一个活动,切换区域设置,然后切换回应用程序时,所有内容都会更新......除了设置了“android:id”属性的复选框和单选按钮。
如果复选框和单选按钮没有“android:id”属性,那么它们会更新正常。其他字段不存在此问题,无论它们是否具有“android:id”属性。
确保每当区域设置更改时更新我的跑步活动中的所有内容的最佳方法是什么?
重现步骤:
1)在Eclipse中创建一个“Hello, Android”项目。
2)在主布局中,定义两个复选框:
<CheckBox android:text="@string/checkbox" android:id="@+id/CheckBox01" android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox>
<CheckBox android:text="@string/checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox>
3)创建两个strings.xml:一个在“values”下,一个在“values-es”下。
4) 在“values”下创建以下字符串:
<string name="checkbox">English</string>
5)在“values-es”下创建以下字符串
<string name="checkbox">español</string>
6) 将设备设置为“English”
7) 在模拟器或任何设备上运行应用程序(在 HTC G1 上测试)。
8)观察。两个复选框都显示“英语”。
9) 按“Home”返回菜单并使应用程序在后台运行。
10) 进入设置。将语言切换为“西班牙语”
11) 按住“主页”。返回到应用程序。
预期结果:
两个复选框都显示“español”
实际结果:
第一个复选框显示“英语”
第二个复选框显示“español”
看起来带有“android:id”属性的复选框没有按应有的方式更新。没有“android:id”属性的复选框按预期工作。