-1

我有一个将 km/h 转换为 mph 的应用程序。如果表单为空白并按下按钮转换,则应用程序将关闭。我知道如果表格为空白,我需要一个验证功能,并显示一条消息,通知用户表格不能为空白,但我找不到解决我的问题的代码。

我的点击代码是:

        buttonConverter.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            double Value1 = Double.valueOf(txtKmhUser.getText().toString());
            double Value2 = Value1 / 1.60;
            Result.setText(String.valueOf(Value2));

        }


    });
4

4 回答 4

1

EditText如果是空的,您可以显示敬酒。

    @Override
    public void onClick(View arg0) {
        String yourString = txtKmhUser.getText().toString();
        if(!yourString.equals("")){
            double Value1 = Double.valueOf(yourString);
            double Value2 = Value1 / 1.60;
            Result.setText(String.valueOf(Value2));
        }else{
            Toast.makeText(this, "Form can not be blank", Toast.LENGTH_SHORT).show();
        }
    }
于 2015-02-05T19:38:18.187 回答
0

只需在转换前进行验证

  buttonConverter.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        String str=txtQuilometros.getText().toString();
        if(str.length()>0)
        {
             double Value1 = Double.valueOf(str);
             double Value2 = Value1 / 1.60;
             Result.setText(String.valueOf(Value2));
         }

    }


});
于 2015-02-05T19:37:46.410 回答
0

在转换之前检查您的编辑文本的值为 null

if(!value1.equals(null))
于 2015-02-05T19:38:03.207 回答
0

您的应用程序崩溃的原因是 Double.valueOf("") 引发了数字格式异常。因此,您需要在处理之前验证您的表单,或者对异常使用 try/catch。

buttonConverter.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
        if(txtQuilometros.getText().toString().length() > 0) {
             double Value1 = Double.valueOf(txtQuilometros.getText().toString());
             double Value2 = Value1 / 1.60;
             Result.setText(String.valueOf(Value2));
         } else {
          txtQuilometros.setError("Please enter a value");
    }
});
于 2015-02-05T19:41:45.077 回答