抱歉我的英文。
我有一些活动。
活动布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/containerOfStandardFilters" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/containerOfMoreFilters" />
</LinearLayout>
</ScrollView>
在活动代码中,我动态填充两个容器布局。目前我只填写containerOfStandardFilters
。
我用来夸大containerOfStandardFilters
的内容的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="@dimen/textSizeOfFilterGroupTitle"
android:text="@string/titleOfSortingGroup" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/textSizeOfSortingGroupItems"
android:text="@string/labelOfSortByDistanceCheckBox"
android:id="@+id/sortByDistanceCheckBox" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/textSizeOfSortingGroupItems"
android:text="@string/labelOfSortByDiscountCheckBox"
android:id="@+id/sortByDiscountCheckBox" />
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/sizeBetweenFilterGroups" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="@dimen/textSizeOfFilterGroupTitle"
android:text="@string/titleOfPaymentMethodGroup"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/textSizeOfSortingGroupItems"
android:text="@string/labelOfCashlessPaymentsCheckBox"
android:id="@+id/cashlessPaymentsCheckBox" />
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/sizeBetweenFilterGroups" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="@dimen/textSizeOfFilterGroupTitle"
android:text="@string/titleOfWorkingHoursGroup"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/textSizeOfSortingGroupItems"
android:text="@string/labelOfWorksNowCheckBox"
android:id="@+id/worksNowCheckBox" />
<TextView
android:layout_width="match_parent"
android:layout_height="@dimen/sizeBetweenFilterGroups" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="@dimen/textSizeOfFilterGroupTitle"
android:text="@string/titleOfDiscountTypeGroup" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/textSizeOfSortingGroupItems"
android:text="@string/labelOfBonusCheckBox"
android:id="@+id/bonusCheckBox" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/textSizeOfSortingGroupItems"
android:text="@string/labelOfDiscountCheckBox"
android:id="@+id/discountCheckBox" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/textSizeOfSortingGroupItems"
android:text="@string/labelOfCashBackCheckBox"
android:id="@+id/cashBackCheckBox" />
</LinearLayout>
但如果我更改当前语言(通过“设置”)并返回过滤器活动(来自系统设置活动),则只有没有ID的视图才会更新标签。
如何解决我的问题?
答案 0 :(得分:0)
抱歉我的英文。
最后我决定了这个问题如下。
我将每个View
的{{1}}和text
属性包含在具有相同id
属性的FrameLayout
中,并从每个id
中删除id
View
。
但事实上,找到View
的代码变得更加复杂。
在layout
而不是使用:
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/labelOfCheckBox"
android:id="@+id/checkBox" />
我用:
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/checkBox" >
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/labelOfCheckBox" />
</FrameLayout>
找到包裹Views
的代码:
public class MyActivity extends Activity {
public View findWrappedView(int id) {
ViewGroup container = (ViewGroup) findViewById(id);
return container.getChildAt(0);
}
}