私はアンドロイドN以上で私のアプリの言語を変更するにはAndroid N change language programmaticallyに従ってください。しかし、私はまだアプリケーションコンテキストインスタンスに問題があります。私のApplicationクラスでAndroid:言語を変更するアンドロイドN、アプリケーションインスタンスが更新されない
:
private static Application mInstance;
public static Context getApplication() {
return mInstance;
}
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
}
言語が変更されますが、リソースがアプリケーションコンテキストから取得は変更されません。例:
MyApplication.getApplication().getResources().getString(stringId);
戻り値は間違った言語文字列です。
この状況でアプリケーションインスタンスを更新できますか?私はこの問題に数時間悩んだ。 MyApplication.getApplication()はアプリ全体のさまざまな場所で使用されています。だから私はアクティビティのコンテキストに変換することはできません。
多くのありがとうございます。
言語の変更が完了したら、もう一度onCreateを呼び出してみてください。 'MyApplication.getApplication()。onCreate()'。 また、言語の変更時にアプリケーションを再起動すると、コンテキストを設定する必要があります。 – jitinsharma
マニフェストファイルに** 'application' **の下に**' MyApplication' **を追加しましたか? –