Android: Как установить содержание текста Редактирования от Нажатия кнопки?

Я - новобранец к андроиду. Я думаю о реализации простого калькулятора в андроиде для овладевания основами в андроиде. Я хочу отобразить клавиатуру с числами и математическими операциями и когда пользователь нажимает клавиши, соответствующее число отображено в тексте редактирования. Я пытался использовать gettext () и обновить содержание текста редактирования, но он показывает просто содержание нажатой кнопки. Также, как я читаю содержание кнопки, чтобы сделать математические операции в коде? Любая справка очень ценилась бы.

с уважением,

Основной

6
задан Primal Pappachan 23 April 2010 в 15:16
поделиться

2 ответа

Обработка заголовка кнопки как фактических данных - это то, что в значительной степени является единственно приемлемой практикой, когда вы нажимаете цифровые кнопки в калькуляторе, поэтому я не знаю, применимо ли это к «основам Android»; )

Независимо;

Вы заявляете, что хотите отображать соответствующий номер, когда пользователь нажимает клавишу (кнопку?). И затем вы говорите, что getText просто показывает вам содержимое нажатой кнопки ... Разве это не совсем то, о чем вы просите? Возможно, вам потребуется предоставить немного кода и показать нам, что работает не так, как вы планировали. Но если на кнопке есть текст «8», и вы хотите рассматривать это как восьмерку в математических операциях, вам необходимо проанализировать ее:

Integer myNumber = Integer.parse(myButton.getText());

... что, конечно, вызовет исключение, если текст myButton не разрешается в целое число.

ИЗМЕНИТЬ, КАК КОММЕНТАРИЙ

Из объяснения вашей проблемы, которое вы дали в своем комментарии, да, setText () полностью сбрасывает текст до значения, которое он передал, но вы можете использовать комбинация этого и getText () , если вы просто хотите добавить что-то к текущему значению:

myEditText.setText( myEditText.getText() + " " + myButton.getText() );
5
ответ дан 8 December 2019 в 12:58
поделиться

Чтобы установить содержимое EditText:

EditText text = (EditText) findViewById(R.id.your_text);
text.setText("Display this text");

Вместо того, чтобы пытаться вытащить текст из ваших кнопок и использовать его как целое число, я бы просто добавил прослушиватель кликов к каждому из них, который "знает" значение своего button:

Button button = (Button) findViewById(R.id.num_1);
button.setOnClickListener(new View.OnClickListener() {
    @Override public void onClick(View v) {
        // Do something with the value of the button
    }
});
6
ответ дан 8 December 2019 в 12:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: