Почему при смене языка не меняется название Фрагмента?

335
10 июня 2017, 13:55

Почему при смене языка не меняется название Фрагмента?

----------Class Application

public class BaseApp extends Application{
    public static Context context;
    @Override
    public void onCreate() {
        super.onCreate();
        context=getApplicationContext();
    }
}

----------Class Constans просто коснаты

    public final class Constants {
    // Screen titles
    public static final String LOGIN_FRAGMENT_TAG = BaseApp.context.getString(R.string.const_login);
    public static final String MY_LEARNING_FRAGMENT_TAG = BaseApp.context.getString(R.string.const_my_learning);
}

---------- Функция которая меняет язык.

    Locale myLocale = new Locale(lang);
    Configuration configuration = BaseApp.context.getResources().getConfiguration();
    configuration.setLayoutDirection(myLocale);
    getResources().updateConfiguration(configuration, getResources().getDisplayMetrics());
    Intent goToMainActivity = new Intent(getActivity(), LoginActivity.class);
    startActivity(goToMainActivity);
    getActivity().finish();

Вообщем все это дело работает только после перезапуска приложения. Я как понимаю что - то не то с классом Constants. Как можно сделать так чтобы работало

Answer 1

Статические константы не переинициализируются при смене языка. Да и не должны, они же константы. Все будет прекрасно работать, если Вы будете выставлять заголовки фрагментам не через константы, а напрямую через BaseApp.context.getString(R.string.const_login).

А при перезапуске все работает, потому что приложение удаляется из памяти и запускается снова, что приводит к инициализации статических полей впоследствии.

READ ALSO
Создание папок в Windows из PL/SQL

Создание папок в Windows из PL/SQL

Стоит задача написать PL/SQL процедуру, которая будет создавать пустую папку по указанному путиЯ знаю что для этого можно использовать класс...

258
Как изменить стиль в NetBeans?

Как изменить стиль в NetBeans?

Я новичок в Java, да и в программировании вообщеНачал её изучать, сейчас разбираюсь с GUI, пишу простенький калькулятор, но почему то в GUI билдере...

391
Как правильно сделать POST запрос Retrofit?

Как правильно сделать POST запрос Retrofit?

Мне очень нужна помощьНе знаю как сделать POST запрос по этому API: http://smktesting

415
Нужна помощь с ArrayList

Нужна помощь с ArrayList

Вообщем проблема такая: мне нужно из текстового файла сделать ArrayList из массивов int[], я разбиваю каждую строку, и в цикле добавляю массивы в лист,...

376