1

我写了一个小应用程序,它有一些语言环境和语言选项。当用户更改区域设置时,OptionsActivity 将重新启动并更新配置。MainActivity 也在 onRestart() 方法中更新配置。一切都很好,但是如果用户点击选项硬件按钮,选项菜单会使用首先加载的本地化资源创建。我用代码创建选项菜单:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    Log.d(Const.LOG_TAG, "onCreateOptionsMenu");
    final MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.activity_main, menu);
    return true;
}

/菜单/activity_main.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/menu_settings"
        android:icon="@drawable/setting_icon"
        android:title="@string/menu_settings"/>
</menu>

menu_setting 是本地化字符串。怎么了?为什么有些资源在更新,而有些资源没有?

4

1 回答 1

1

我懂了。

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    Log.d(Const.LOG_TAG, "Menu prepared");
    MenuItem item = menu.findItem(R.id.menu_settings);
    item.setTitle(R.string.menu_settings);
    return true;
}
于 2012-09-21T10:53:56.500 回答