как рассчитать в реальном времени? - PullRequest
0 голосов
/ 06 мая 2011

Я хочу создать калькулятор, который имеет 2 редактируемых имени текста input1 и input2 и имеет счетчик, который показывает операнд, поэтому я пытаюсь

input1.setOnKeyListener(new OnKeyListener() {

        public boolean onKey(View v, int keyCode, KeyEvent event) {
            calculate();
            return false;
        }
    });

но это не вовремя, я должен нажать пробел 1 раз в любом тексте редактирования, чтобы вычислить его

Я думаю, что проблема в функции "onKey"

Есть идеи?

1 Ответ

1 голос
/ 06 мая 2011

Похоже, вы хотите, чтобы вычисления происходили на лету, и вам не нужна кнопка.

Если это так, вы можете прикрепить TextWatcher к каждому EditText с помощью метода addTextChangedListener (TextWatcher) . Всякий раз, когда вы получаете событие от него, вы можете вызывать Calculate (). В этом случае вы, вероятно, также захотите присоединить AdapterView.OnItemSelectedListener к вашему Spinner.

Если вы используете кнопку для выполнения своих расчетов, у вас просто будет кнопка, дайте ей OnClickListener, который будет вызывать ваш метод вычисления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...