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;
}

/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はローカライズされた文字列です。なにが問題ですか?一部のリソースが更新されているのに、更新されていないリソースがあるのはなぜですか?

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 に答える