いくつかのロケールと言語オプションを備えた小さなアプリを作成しました。ユーザーがロケールを変更すると、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;
}
/menu/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はローカライズされた文字列です。なにが問題ですか?一部のリソースが更新されているのに、更新されていないリソースがあるのはなぜですか?