我遇到了应用内的语言更改选项问题。
我在自己的应用中实现了2种语言1)英语和2)希伯来语 基于选择,我试图转换应用程序语言,但不知何故停止了工作。
下面是我正在使用的语言代码。
public void changelanguage(String languageToLoad, Context context) {
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
context.getResources().updateConfiguration(config,
context.getResources().getDisplayMetrics());
}
对于希伯来语,我使用“ iw”一词进行比较。
下面是logcat的日志:
07-30 20:12:26.146 23878-26997 / paycalldailer.paycall.co.il V / FA: 不活动,与服务断开连接07-30 20:12:30.330 23878-23878 / paycalldailer.paycall.co.il I / System.out:语言标记 GC :: 1 07-30 20:12:30.341 23878-23878 / paycalldailer.paycall.co.il I / System.out: 光标:: android.content.ContentResolver$CursorWrapperInner@3acb7a4 07-30 20:12:30.341 23878-23878 / paycalldailer.paycall.co.il I / System.out:如果这是07-30 20:12:30.363 23878-23878 / paycalldailer.paycall.co.il I / System.out:更改语言: 土耳其(V)/美国:07-30 20:12:30.412 23878-26997 / paycalldailer.paycall.co.il 记录用户参与度,毫秒:9327 07-30 20:12:30.413 23878-26997 / paycalldailer.paycall.co.il V / FA:使用测量 服务07-30 20:12:30.413 23878-26997 / paycalldailer.paycall.co.il V / FA:连接到远程服务07-30 20:12:30.417 23878-26997 / paycalldailer.paycall.co.il V / FA:活动已暂停,时间: 38061307 07-30 20:12:30.423 23878-26997 / paycalldailer.paycall.co.il D / FA:记录事件(FE):user_engagement(_e), Bundle [{firebase_event_origin(_o)= auto, partnership_time_msec(_et)= 9327, firebase_screen_class(_sc)= ChangeLanguage, firebase_screen_id(_si)=-841994326498933721}] 07-30 20:12:30.440 23878-26997 / paycalldailer.paycall.co.il V / FA:使用测量 服务07-30 20:12:30.440 23878-26997 / paycalldailer.paycall.co.il V / FA:连接尝试已在进行中07-30 20:12:30.489 23878-23878 / paycalldailer.paycall.co.il V / FA:onActivity已创建07-30 20:12:30.529 23878-23878 / paycalldailer.paycall.co.il I / AppCompatViewInflater:app:theme现在已弃用。请移至 改用android:theme。
请建议我哪里错了。它突然停止工作。
答案 0 :(得分:0)
您是否在应用程序中使用任何Webview? 因为存在使用Webview导致的已知问题,该问题将本地语言重置为默认语言。
cf。 Android Nougat 7.1 resets Locale after launching WebView