【问题标题】:Android Studio button method works only one timeAndroid Studio 按钮方法只工作一次
【发布时间】:2015-03-23 13:28:14
【问题描述】:

我有一个 onCreate 为按钮 onclick 启动监听器的活动,如下所示:

    buttonCal = (Button) findViewById(R.id.buttonCal);
    buttonCal.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            calAge();
        }
    });

然后代码会将一些文本放入文本视图中。

    TextView txtAGE = (TextView) findViewById(R.id.txtAGE);
    txttxtAGE.setText(strAGE);

代码运行良好,一次。我尝试将侦听器代码放在 setText() 函数下方,但它仍然不起作用。有人知道为什么吗?或者我怎样才能得到它,以便可以无限长按按钮并计算新年龄并将其显示在 textview 中?

感谢您的帮助:)

【问题讨论】:

  • 显示完整的 calAge() 方法。
  • 该错误很可能与您的 calAge() 方法有关,但值未通过,请发布。
  • 你认为 25 岁已经老了吗?
  • 看起来Age 没有改变。你也可以发布你声明,分配和修改Age的位置吗?
  • txtYourAge.setText(strYourAge); 更改为txtYourAge.setText("" + new Random().nextInt());。这会告诉你问题是否出在Age

标签: java android button


【解决方案1】:

了解您在按下按钮时尝试执行的代码会很有帮助。您已将 xml 文件中的 onClick 属性设置为名为 Button_Click 的方法。

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    android:onClick="Button_Click"
    android:clickable="true"/>

现在在你的 Java 类中

  public void Button_Click(View i)
{
  //do your code

}

【讨论】:

  • 如果问题是由监听器内部的逻辑代码引起的,而不是监听器本身,这将无法解决问题。我相信听众被称为罚款。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-24
相关资源
最近更新 更多