Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Trenitalia
0 / 0 / 1
Регистрация: 30.10.2014
Сообщений: 17
#1

Android select language action

06.04.2015, 20:38. Просмотров 292. Ответов 2
Метки нет (Все метки)

Здравствуйте, как с помощью action bar сделать так чтобы пользователь смог самостоятельно выбирать язык?

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
    <item
        android:id="@+id/action_english_language_selected"
        android:title="@string/EnglishLanguageSelected"
        android:orderInCategory="100"
        android:showAsAction="never" />
    <item
        android:id="@+id/action_russian_language_selected"
        android:title="@string/RussianLanguageSelected"
        android:orderInCategory="200"
        android:showAsAction="never" />
    <item
        android:id="@+id/action_italian_language_selected"
        android:title="@string/ItalianLanguageSelected"
        android:orderInCategory="300"
        android:showAsAction="never" />
</menu>
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_russian_language_selected) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
0
Миниатюры
Android select language action  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2015, 20:38
Ответы с готовыми решениями:

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]
Выдает такую ошибку, хотя смартфон видит, он разрешает отладку, при запуске...

Android Floating Action Button со счетчиком
Здравствуйте. Делаю FAB со счетчиком, вот разметка: &lt;RelativeLayout...

Как отправить данные местоположения через ACTION SEND в приложении android?
Здравствуйте!На этом сайте ССЫЛКА я нашел решение для определения своего...

Starting: Intent { act=android.intent.action.MAIN. и пустой белый экран
При запуске приложения всё заканчивается на Starting: Intent {...

Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout?
Недавно начал изучать Android API, а сегодня более менее разобрал основы...

2
Hedd
13 / 13 / 2
Регистрация: 21.01.2015
Сообщений: 131
06.04.2015, 20:51 #2
Trenitalia, Так в чем проблема? Вы описали Айтемы, хорошо. Теперь надо написать обработчик Айтемов. В интернете масса информации и простых примеров по этому поводу
0
Trenitalia
0 / 0 / 1
Регистрация: 30.10.2014
Сообщений: 17
06.04.2015, 23:24  [ТС] #3
Вот нашел типа этого.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.action_english_language_selected:
                Locale locale = new Locale("Default");
                Locale.setDefault(locale);
                Configuration config = new Configuration();
                config.locale = locale;
                getBaseContext()
                        .getResources()
                        .updateConfiguration(config, getBaseContext()
                                .getResources()
                                .getDisplayMetrics());
                Toast.makeText(this, "Locale in English !", Toast.LENGTH_LONG).show();
                break;
 
            case R.id.action_russian_language_selected:
                Locale locale2 = new Locale("ru");
                Locale.setDefault(locale2);
                Configuration config2 = new Configuration();
                config2.locale = locale2;
                getBaseContext()
                        .getResources()
                        .updateConfiguration(config2, getBaseContext()
                                .getResources()
                                .getDisplayMetrics());
 
                Toast.makeText(this, "Locale in Russian !", Toast.LENGTH_LONG).show();
                break;
 
            case R.id.action_italian_language_selected:
                Locale locale3 = new Locale("it");
                Locale.setDefault(locale3);
                Configuration config3 = new Configuration();
                config3.locale = locale3;
                getBaseContext()
                        .getResources()
                        .updateConfiguration(config3, getBaseContext()
                                .getResources()
                                .getDisplayMetrics());
 
                Toast.makeText(this, "Locale in Italian !", Toast.LENGTH_LONG).show();
                break;
 
 
        }
        return super.onOptionsItemSelected(item);
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2015, 23:24

Не предлагается установка Android SDK при установке Android Studio
на сайте https://developer.android.com/studio/... скачал exeшник для...

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка:...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb?
android studio, как запускать программу сразу на android смартфоне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru