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

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

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

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

20.07.2016, 19:04. Просмотров 425. Ответов 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 вьюшки, но наверняка же можно и для текста? Как это сделать?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2016, 19:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Получить текст с нажатой кнопки (Программирование Android):

Тень текста нажатой кнопки - Программирование Android
Есть TabHost. В нём несколько табов. На каждом табе чёрный текст с белой тенью. Когда таб нажат цвет текста меняю на белый. Нужно и цвет...

Обработка удерживания кнопки нажатой - Программирование Android
Выручайте, так и не смог правильный вопрос гуглу задать, мне нужно чтобы зажатая кнопка приводила к итерации события, но в поиске под...

Как поменять цвет нажатой кнопки в runtime? - Программирование Android
Надо для кнопки менять цвета в нажатом/ненажатом состоянии. Во время работы программы. Цвет бордюра тоже надо менять. Как это делать?

Получить строковое представление нажатой клавиши - Программирование Android
Несколько дней назад начал изучать android , первое что пришло в голову- написать службу-кейлогер, но вот никак не могу найти метод который...

Оформление кнопки: отследить, вмещается ли текст в размеры кнопки - Программирование Android
Добрый день, задача стоит следующая динамически создаю кучу кнопок, каждой присваиваю setText из массива. for (int...

Нужно выводить текст по нажатию определенной кнопки - Программирование Android
Есть 2 кнопки- 1 и 0. Нужно чтобы по нажатию каждой кнопки, в textview выводился текст. Заранее спасибо.

3
Pablito
2479 / 1963 / 612
Регистрация: 12.05.2014
Сообщений: 6,881
Завершенные тесты: 1
20.07.2016, 19:07 #2
Java
1
String text = ((Button) view).getText();
0
FaceHoof
46 / 46 / 28
Регистрация: 21.04.2014
Сообщений: 568
Завершенные тесты: 3
20.07.2016, 19:13  [ТС] #3
Паблито, ругается.
"Error71, 54) error: incompatible types: CharSequence cannot be converted to String"

Чёт я ничего не понял. CharSequence - это же вроде интерфейс? Причём он тут вообще?
0
Pablito
2479 / 1963 / 612
Регистрация: 12.05.2014
Сообщений: 6,881
Завершенные тесты: 1
20.07.2016, 19:14 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
тогда
Java
1
String text = ((Button) view).getText().toString();
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2016, 19:14
Привет! Вот еще темы с ответами:

Получить параметры кнопки внутри OnClick - Программирование Android
доброго всем помогите новичку имеется layout, на котором динамически создается неизвестное количество кнопок. Каждая кнопка...

Как в Android Studio по нажатию кнопки выводить свой текст в TextView? - Программирование Android
Вот мой код MyActivity.java: package com.example.dasha; import android.app.Activity; import android.os.Bundle; import...

Сделать так что бы размер кнопки неизменяемым, какой бы там текст не был - Программирование Android
Сделать так что бы размер кнопки неизменяемым, какой бы там текст не был

Как по нажатию кнопки несколько раз выводить текст в TextView в Android Studio? - Программирование Android
Помогите вывести текст в textview при нажатии на одну и ту же кнопку ? Нажал - изменился текст, опять нажал и тд


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
20.07.2016, 19:14
Ответ Создать тему
Опции темы

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