2016-10-14 2 views
0

В основном то, что я пытаюсь сделать это,Как изменить Locale без повторного запуска приложения?

Я начинаю с MainActivity(activity_main) пойти SettingActivity(activity_setting) & изменить локаль из предложенных вариантов (например, французский, английский, голландский и т.д.)

Так что я сделал до сих пор это ...

OnClick названия языка это воссоздавать SettingActivity(activity-setting) & изменения его string значения в соответствии с выбранным языком.

Что я действительно хочу - без воссоздания активности, все значения string должны применяться в соответствии с выбранным языком.

Все предложения & Ответы приветствуются. Благодарим вас в Advance.

+1

Связанных: [? Как изменить андроид приложение языка без изменения языка телефона] (http://stackoverflow.com/questions/39942736/how-to-change-android-app-language-without-changing-phone-language) –

ответ

0

Вначале сначала измените свойство языка. Затем вызовите новую функцию, которая устанавливает все строки, отображаемые в пользовательском интерфейсе, на правильный язык.

псевдокод:

TextView myTextView = (TextView) findViewbyId(R.id.tv1); 
myTextView.setText(yourCustomGetLocaleFunction("some id of the string you want to display", "some language name")); 

Но это плохой подход. Вы должны позволить Android обрабатывать язык вашего приложения. Просто локализовать файл strings.xml (вы можете загружать строки из файла из кода).

Edit:

Чтобы изменить язык вашего приложения на данный момент, вы можете использовать код из этого решения: How to change android app language without changing phone language?

Смежные вопросы