0
ロケールの変更に対してのみアクションを実行するサンプルアプリケーションを作成しようとしています。私はonConfigurationChanged(...)を実装し、ユーザーをロケールの変更時にのみ別のアクティビティにリダイレクトしたいと思います。ロケールの変更をリッスンするアクティビティもオリエンテーションの変更を聞きます(これはマニフェストで行っています)。Android - 設定変更を区別する
私の質問は、2つの構成変更を区別する方法はありますか?
活動がそうのようなマニフェストで宣言されている:
<activity android:name=".views.MainActivity"
android:configChanges="layoutDirection|locale|orientation|screenSize"/>
とonConfigurationChange(..)メソッドはそうのようなものです:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// should execute only on locale change
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
ニース、あなたは(任意のロケールの変更が発生する前に活動負荷1回目)のonCreateの前のロケールへの参照を格納することによってSharedPreferencesを使用しないようして、両者を比較することができロケール。 – user1841702
もちろん、これによってさらに簡単になります。それを考えなかったけど、私が助けることができてうれしいです:) – babadaba