如果 EditText 字段小于或等于 13.5 且大于 33.0,则隐藏按钮 - Java Android

Hide a Button if EditText field is less than or equal to 13.5 & greater than 33.0 - Java Android

祝大家一切安好

如果我的 EditText 中的测试读数低于或等于 13.5 或我的 Android 应用程序 window 中的测试读数高于 33,我想隐藏按钮 (btnAppointment)。如果我的 EditText 字段输入值介于 13.60 和 32.99 之间,按钮 (btnAppointment) 应该只出现在屏幕上。如果超出这些参数,则不会在屏幕上显示。

我想知道带有 button.setEnabled(false); 的 IF 语句是否可以解决问题,如果可以,我需要在哪里将其输入到我的代码中。无论是 protected void onCreate(Bundle savedInstanceState) 还是创建我自己的 public void appointmentTeacherOnClick?

下面我插入了用于计算和显示输入测试字段提示的代码。

public void calculateTest(View v){
    String status;
    test = Double.parseDouble(edtData.getText().toString());
    String result = String.format("%.2f", test);
    Log.d("MyActivity", result);

    if( test < 9.5) {
        status = "Normal - Well Done =)";
    } else if (test >= 9.5 && test < 13.5){
        status = "Caution - Keep on Track =|";
    } else if (test >= 13.5 && test < 33.0) {
        status ="Action Needed =(";
    } else {
        status = "Normal Results are between 0 - 33";
    }

    AlertDialog alertDialog = new AlertDialog.Builder(this).create();
    alertDialog.setTitle("Result Feedback...");
    alertDialog.setMessage(status);
    alertDialog.setButton("Acknowledged", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
        }
    });
    alertDialog.show();

要隐藏视图,您需要使用 setVisibility() 并将其设置为 View.INVISIBLE

Button btnAppointment = (Button) findViewById(R.id.btn_appointment);
btnAppointment.setVisibility(View.INVISIBLE);

在您的 XML 文件中:

<Button
    android:id="@id+/btn_appointment
    ...
/>

看到这个问题:How to hide a button programmatically?

如果您想控制按钮的可见性,启用或禁用按钮将无济于事。 Enabling/Disabling 属性 仍然会显示按钮,只会决定按钮是否可以点击。

你需要两件事来完成你的任务,

  1. EditText - 文本更改侦听器
  2. 按钮可见性属性

SO 上已经回答了如何完成这两个任务,这里是最受欢迎的,

How to hide a button programmatically?(用于隐藏按钮)。

Counting Chars in EditText Changed Listener(用于创建 edittext 更改侦听器)