【问题标题】:Button click change textview按钮单击更改文本视图
【发布时间】:2012-06-03 23:34:09
【问题描述】:

我想制作一个简单的计数器程序,其中有一个 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:我的字符串是资源字符串。

【问题讨论】:

    标签: java android textview android-button


    【解决方案1】:

    由于var_counterintsetText(var_counter) 尝试将小部件的文本设置为字符串资源,其值为 id。你想要的是:

    setText(Integer.toString(var_counter));
    

    【讨论】:

    • 感谢您的完整回答。现在我明白我做错了什么。
    【解决方案2】:

    使用

    .setText(Integer.toString(var_counter));
    

    【讨论】:

      【解决方案3】:

      简单地说:

      .setText(""+var_counter);
      

      【讨论】:

      • 如果您的解释和显示的一样,这个答案会更有帮助。即说它为什么起作用:简单地告诉我们你的例子中的类型强制,为什么原始版本不起作用,等等。
      • 如果将整数值和字符串值连接在一起,java 会将其全部转换为字符串变量。而且我认为它比Integer.toString(var_counter)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多