Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
FaceHoof
28 / 28 / 14
Регистрация: 21.04.2014
Сообщений: 419
Завершенные тесты: 2
#1

Получить текст с нажатой кнопки - Android

20.07.2016, 19:04. Просмотров 219. Ответов 3
Метки нет (Все метки)

Здравствуйте.
Начал изучать Android Studio и в рамках своего обучения пытаюсь сделать простой калькулятор. Дабы не плодить код сделал один обработчик нажатия кнопок:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
View.OnClickListener onClickListener = new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                switch (view.getId()){
                    case R.id.btnC:
                        dFirst = 0;
                        dSecond = 0;
                        cAct = 'N';
                        editText.setText("");
                        break;
case R.id.btnKvad:
                        if (editText.getText().length()>0)
                        {
                            try {
                                dRes = Float.valueOf(editText.getText().toString());
                                dRes = dRes * dRes;
                                editText.setText(String.valueOf(dRes));
                            } catch (NumberFormatException e) {
                                Log.d(TAG, "Ошибка конвертирования строки", e);
                            }
                        }
                        break;
//.....
И всё бы хорошо, но тут я дошёл до обработки нажатий кнопок - цифр. По идеи обработка должна выглядеть примерно так:
Java
1
2
3
case R.id.btn1:
    editText.setText(editText.getText().toString() + "1"); //Добавляем к строке на экране число
break;
Но ведь в таком случаи мне придётся писать аж 10 case с примерно одинаковым содержанием. Я решил сделать отдельный обработчик для кнопок-чисел:
Java
1
2
3
4
5
6
View.OnClickListener onClickListenerNumber = new View.OnClickListener() {
            @Override
            public void onClick(View view) {
 
            }
        };
И всё, тут я завис... Я хотел в этом обработчике написать добавление к строке на экране текста из нажатой кнопки, но совершенно не понял как это можно сделать. Если можно достучаться до ID вьюшки, но наверняка же можно и для текста? Как это сделать?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2016, 19:04     Получить текст с нажатой кнопки
Посмотрите здесь:

Android Получить строковое представление нажатой клавиши
Тень текста нажатой кнопки Android
Android Как в Android Studio по нажатию кнопки выводить свой текст в TextView?
Сделать так что бы размер кнопки неизменяемым, какой бы там текст не был Android
Android Получить текст из ListView
Как получить текст из ID Android
Оформление кнопки: отследить, вмещается ли текст в размеры кнопки Android
Android Как поменять цвет нажатой кнопки в runtime?
Как по нажатию кнопки несколько раз выводить текст в TextView в Android Studio? Android
Получить параметры кнопки внутри OnClick Android
Android Получить текст из SMS
Обработка удерживания кнопки нажатой Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
резкий
1941 / 1681 / 520
Регистрация: 12.05.2014
Сообщений: 6,010
Завершенные тесты: 1
20.07.2016, 19:07     Получить текст с нажатой кнопки #2
Java
1
String text = ((Button) view).getText();
FaceHoof
28 / 28 / 14
Регистрация: 21.04.2014
Сообщений: 419
Завершенные тесты: 2
20.07.2016, 19:13  [ТС]     Получить текст с нажатой кнопки #3
Паблито, ругается.
"Error71, 54) error: incompatible types: CharSequence cannot be converted to String"

Чёт я ничего не понял. CharSequence - это же вроде интерфейс? Причём он тут вообще?
Паблито
резкий
1941 / 1681 / 520
Регистрация: 12.05.2014
Сообщений: 6,010
Завершенные тесты: 1
20.07.2016, 19:14     Получить текст с нажатой кнопки #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
тогда
Java
1
String text = ((Button) view).getText().toString();
Yandex
Объявления
20.07.2016, 19:14     Получить текст с нажатой кнопки
Ответ Создать тему
Опции темы

Текущее время: 08:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru