语言更改停止生效

时间:2018-07-30 12:30:13

标签: android localization android-resources

我遇到了应用内的语言更改选项问题。

我在自己的应用中实现了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。

请建议我哪里错了。它突然停止工作。

1 个答案:

答案 0 :(得分:0)

您是否在应用程序中使用任何Webview? 因为存在使用Webview导致的已知问题,该问题将本地语言重置为默认语言。

cf。 Android Nougat 7.1 resets Locale after launching WebView