Нажмите кнопку изменить текстовое представление

1

Я хочу создать простую программу-счетчик, где у меня есть Textview и две кнопки, одна с другой - с какой-либо нажатой я получаю 1 приращение или уменьшение.

Моя проблема в том, что я хочу, чтобы Textview обновлял переменную, а не текст. (Под этим я подразумеваю, что я получаю приложение для работы с .setText("counter:"+ var_counter) но не работает с .setText(var_counter).

var_counter - это int.

    final TextView tvContador = (TextView)findViewById(R.id.tvContador);
Button add = (Button)findViewById(R.id.bMais);
Button sub = (Button)findViewById(R.id.bMenos);
add.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
           contador++;                                 
           tvContador.setText(getText(contador));
       }
});

ps: моя строка - это строка ресурса.

Теги:
android-textview
android-button

3 ответа

1
Лучший ответ

Поскольку var_counter является int, setText(var_counter) пытается установить текст виджета на ресурс строки с таким значением, как его id. Вы хотите:

setText(Integer.toString(var_counter));
  • 0
    Спасибо за ваш полный ответ. Теперь я понимаю, что я сделал не так.
  • 0
    +1 за предоставление понимания, а также просто решение.
0

Просто:

.setText(""+var_counter);
  • 0
    этот ответ был бы более полезным, если бы вы объяснили, а не показали. то есть, скажите, почему это работает: расскажите нам кратко о приведении типов в вашем примере, почему оригинальная версия не работала и т. д.
  • 0
    Если вы объедините целочисленное значение и строковое значение вместе, java преобразует все это в строковую переменную. И я думаю, что это Integer.toString(var_counter) чем сделать Integer.toString(var_counter)
0

использование

.setText(Integer.toString(var_counter));
  • 0
    Woooohoo спасибо, это сработало! =)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню