我按照Android N以及以上版本中更改语言的编程方法来更改我的应用程序的语言。但是,我仍然遇到了应用程序上下文实例的问题。
在我的Application类中:
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()在我的应用程序中的许多地方都被使用了。所以我无法转换为Activity上下文。
非常感谢。
MyApplication.getApplication().onCreate()
。 或者,您可以尝试在语言更改时重新启动应用程序,这应该设置上下文。 - jitinsharmaapplication
中添加了MyApplication
吗? - AskNilesh