【问题标题】:Button needed to be pressed twice for any action in JavaJava中的任何操作都需要按下按钮两次
【发布时间】:2017-07-19 14:40:31
【问题描述】:

我在使用 Android Studio 中的按钮时遇到了一点问题。要让我的任何按钮工作,它们都需要按两次。我只希望一按就可以采取行动。

下面的一个示例从编辑文本框中获取一个值并将其插入数据库,然后显示一个 toast。就像我提到的,需要按两次按钮才能输入数据并显示 toast。

public void AddDataHR(View view) {
    buttonAddHR.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    boolean isInserted = mydb.insertDataHR(editHR.getText().toString());//Takes value from edittext and send it to insertDataHR within DatabaseHelper
                    if (isInserted == true)
                        Toast.makeText(HeartRate.this, "Data Inserted", Toast.LENGTH_LONG).show();//confirms data was inserted
                    else
                        Toast.makeText(HeartRate.this, "Data Not Inserted", Toast.LENGTH_LONG).show();//error message
                }
            }
    );
}

这是激活上述代码的按钮的xml。

<Button
    android:id="@+id/buttonAddHR"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView4"
    android:layout_alignStart="@+id/textView4"
    android:layout_centerVertical="true"
    android:layout_marginLeft="13dp"
    android:layout_marginStart="13dp"
    android:onClick="AddDataHR"
    android:text="Add Data Manually" />

我对 Android Studio 和 Java 还很陌生,所以我可以让事情正常工作,但不能正常工作。任何帮助将不胜感激!谢谢。

【问题讨论】:

    标签: java android button


    【解决方案1】:

    问题:

    第一次点击:使用buttonAddHR.setOnClickListener在按钮上设置匿名侦听器

    二次点击:触发匿名点击监听

    随便用

    public void AddDataHR(View view) {
            boolean isInserted = mydb.insertDataHR(editHR.getText().toString());//Takes value from edittext and send it to insertDataHR within DatabaseHelper
            if (isInserted)
                Toast.makeText(HeartRate.this, "Data Inserted", Toast.LENGTH_LONG).show();//confirms data was inserted
            else
                Toast.makeText(HeartRate.this, "Data Not Inserted", Toast.LENGTH_LONG).show();//error message
    }
    

    【讨论】:

      猜你喜欢
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      相关资源
      最近更新 更多