Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
qdhtnsoyndtr
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
1

В зависимости от позиции Spinner-а менять текст в TextView

29.03.2015, 17:09. Просмотров 811. Ответов 6
Метки нет (Все метки)

Здравствуйте, только познаю андроид, так что сильно не ругайте.
Создал спинер, его задача в зависимости от позиции менять текст в TextView
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
// Получаем экземпляр элемента Spinner
        final Spinner spinner = (Spinner)findViewById(R.id.spinner);
 
        /*// Настраиваем адаптер
        ArrayAdapter<?> adapter =
                ArrayAdapter.createFromResource(this, R.array.animals, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);*/
 
        // адаптер
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 
        // заголовок
        spinner.setPrompt("Заголовок");
 
        // Вызываем адаптер
        spinner.setAdapter(adapter);
 
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
            {
                // показываем позиция нажатого элемента
                Toast.makeText(getBaseContext(), "Position = " + position, Toast.LENGTH_SHORT).show();
 
 
                if(position == '0')
                {
                    textLang.setText("1");
                }else
                {
                    textLang.setText("2");
                }
            }
 
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
            }
        });
    }
Думаю накосячил в
Java
1
if(position == '0')
Подскажите как правильно сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2015, 17:09
Ответы с готовыми решениями:

Как каждую секунду менять текст TextView?
Подскажите, пожалуйста, как каждую секунду в течение 1,5 минуты менять текст в...

Текст из TextView перенести в другой TextView по нажатию Button
Люди, помогите плиз. Недавно начал ковырять программирование под Android. Хотел...

Сохранение позиции spinner
На фрагменте есть несколько спиннеров. При переходе на другой фрагмент, а потом...

Как автоматически изменять размер текста в spinner в зависимости от размера экрана?
Здравствуйте. В программе использую две темы светлую и темную: &lt;style...

Ширина TextView в зависимости от наполнения его текстом
Есть виджет. На нем TextView. В нем строки разделенные символом новой строки....

6
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
29.03.2015, 17:13 2
Java
1
if(position == 0)
position же int, а вы пытаетесь его со строкой сравнять

Добавлено через 1 минуту
и лучше использовать switch для таких действий.

Java
1
2
3
4
5
6
7
8
switch(position) {
case 1:
//some function
break;
case 2:
//some function
break;
}
0
qdhtnsoyndtr
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
29.03.2015, 17:16  [ТС] 3
dajver, пробовал, все равно не работает, да же приложение не запускается, но компилируется

Добавлено через 2 минуты
Цитата Сообщение от dajver Посмотреть сообщение
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
switch(position) {
case 1:
//some function
break;
case 2:
//some function
break;
}
ошибку выдает при смене позиции
0
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
29.03.2015, 17:17 4
Java
1
textLang
Проинициализирован? типа
Java
1
TextView textLang = (TextView) findViewById(R.id.textLang)
0
qdhtnsoyndtr
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
29.03.2015, 17:20  [ТС] 5
ой, сначало case не те числа были, сейчас поставил 0 и 1, опять перестал запускаться

Добавлено через 2 минуты
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
    TextView textLang = (TextView) findViewById(R.id.textLang);
    private Spinner spinner;
 
    final int MENU_QUIT_ID = 1;
 
    /*
    String strChoose = spinner.getSelectedItem().toString();
    textMetrViz.setText(strChoose); // выводим выбранный пункт в TextView
    */
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        String[] data = {"RUS", "ENG"};
 
 
 
        //spinner.setSelection(1);
 
        // Получаем экземпляр элемента Spinner
        final Spinner spinner = (Spinner)findViewById(R.id.spinner);
 
        /*// Настраиваем адаптер
        ArrayAdapter<?> adapter =
                ArrayAdapter.createFromResource(this, R.array.animals, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);*/
 
        // адаптер
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 
        // заголовок
        spinner.setPrompt("Заголовок");
 
        // Вызываем адаптер
        spinner.setAdapter(adapter);
 
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
            {
                // показываем позиция нажатого элемента
                Toast.makeText(getBaseContext(), "Position = " + position, Toast.LENGTH_SHORT).show();
 
 
                switch(position) {
                    case 0:
                        textLang.setText("1");
                        break;
                    case 1:
                        textLang.setText("2");
                        break;
                }
            }
 
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
            }
        });
    }
0
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
29.03.2015, 17:22 6
Всю инфу по ошибке из Log'а напишите сюда.

Добавлено через 59 секунд
Вы товарищ - извращенец
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
TextView textLang;
    private Spinner spinner;
 
    final int MENU_QUIT_ID = 1;
 
    /*
    String strChoose = spinner.getSelectedItem().toString();
    textMetrViz.setText(strChoose); // выводим выбранный пункт в TextView
    */
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        String[] data = {"RUS", "ENG"};
 
         textLang = (TextView) findViewById(R.id.textLang);
 
        //spinner.setSelection(1);
 
        // Получаем экземпляр элемента Spinner
        final Spinner spinner = (Spinner)findViewById(R.id.spinner);
 
        /*// Настраиваем адаптер
        ArrayAdapter<?> adapter =
                ArrayAdapter.createFromResource(this, R.array.animals, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);*/
 
        // адаптер
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 
        // заголовок
        spinner.setPrompt("Заголовок");
 
        // Вызываем адаптер
        spinner.setAdapter(adapter);
 
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
            {
                // показываем позиция нажатого элемента
                Toast.makeText(getBaseContext(), "Position = " + position, Toast.LENGTH_SHORT).show();
 
 
                switch(position) {
                    case 0:
                        textLang.setText("1");
                        break;
                    case 1:
                        textLang.setText("2");
                        break;
                }
            }
 
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
            }
        });
    }
Добавлено через 1 минуту
textLang - имя вашего textView в activity_main, возможно оно у вас там другое
1
qdhtnsoyndtr
6 / 6 / 1
Регистрация: 29.11.2013
Сообщений: 492
29.03.2015, 17:28  [ТС] 7
dajver, Спасибо)) заработало)
0
29.03.2015, 17:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2015, 17:28

Можно ли в spinner вставить статичный текст
Можно ли в spinner вставить статичный текст (select:), что бы он отображался...

Не изменяется текст в TextView
...А возможно беда в чем - то другом Собственно простецкая программа. Не могу...

Цветной текст в textview
Вся фишка в том, чтобы установить текст не для строковой переменной, а для...


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

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

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