需要一个android按钮来执行一个故意空白的EditText框

时间:2018-07-22 19:22:02

标签: java android android-button

我有一个带有两个EditText Box和一个按钮的简单屏幕。我希望用户能够在框中输入各种整数,并且程序将根据在框中输入的特定数字执行不同的操作。我试图让他们一次只输入一个数字,但是代码似乎不会执行,除非两个盒子中都有东西。而且我在执行if语句之前先检查各个框中的空值,以确定要执行的代码段。

 public void button(View view) {

    double x, y;
    EditText freq1 = findViewById(R.id.freq1);
    EditText freq2 = findViewById(R.id.freq2);
    TextView str1 = findViewById(R.id.freqanswer);
    TextView str2 = findViewById(R.id.injVolt);
    TextView error1 = findViewById(R.id.error1);

    String strf1, strf2;

    strf1 = freq1.getText().toString();
    strf2 = freq2.getText().toString();

    try {

        f1 = Double.parseDouble(strf1);
        f2 = Double.parseDouble(strf2);

        if ((f1 >= 225) & (f1 <= 312) & (strf1.isEmpty())) {

            x = f1 + 20.6;
            y = x / 4;
            str1.setText(String.format("%.3f", y));

        }

    }
    catch (Exception e){
        error1.setText("splat");
    }
    finally {
        InputMethodManager input = (InputMethodManager)
                getSystemService(Context.INPUT_METHOD_SERVICE);
        input.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }

为了简洁起见,我只包括了1个公式,但是我要放置大约6个if语句,检查此按钮上的数字范围和null,我只需要它在一个框为空的情况下运行即可。我知道公式可以通过处理各种输出来工作,但不会与strf1.isEmpty()一起运行。要在公式的第二个框中输入某些内容。 不胜感激

1 个答案:

答案 0 :(得分:0)

我认为您应该在分配前进行检查:

if(strf1.isEmpty()){strf1="0";} //if assuming zero does not change the formula's output 
if(strf2.isEmpty()){strf2="0";}

f1 = Double.parseDouble(strf1);
f2 = Double.parseDouble(strf2);

这样,您可以确保使用默认值。