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

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

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

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

20.07.2016, 19:04. Просмотров 349. Ответов 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 Как поменять цвет нажатой кнопки в runtime?
Android Получить строковое представление нажатой клавиши
Оформление кнопки: отследить, вмещается ли текст в размеры кнопки Android
Android Нужно выводить текст по нажатию определенной кнопки
Получить параметры кнопки внутри OnClick Android
Android Как в Android Studio по нажатию кнопки выводить свой текст в TextView?
Как по нажатию кнопки несколько раз выводить текст в TextView в Android Studio? Android
Сделать так что бы размер кнопки неизменяемым, какой бы там текст не был Android
Android Получить текст из ListView
Android Получить текст из SMS

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

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

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

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