如何在用户提交空字段时发出警报

时间:2011-02-16 08:22:20

标签: android

我想在我的代码中添加一个警报,这样当用户单击按钮而不填写字段时,就会出现错误消息。请提出一些措施。

这是我的代码:

    Button button1 = (Button) findViewById(R.id.widget45);
    button1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

          tv= name.getText().toString();
           tv1 = pass.getText().toString();
           x.setText(tv);
           y.setText(tv1);
       }
    });


}

}

4 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

Button button1 = (Button) findViewById(R.id.widget45);
button1.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {

      tv= name.getText().toString();
      tv1 = pass.getText().toString();
      if( tv.length() == 0 || tv1.length() == 0 ) {
          Toast.makeText(v.getContext(), R.string.input_not_filled, Toast.LENGTH_SHORT).show();
          return;
      }
      x.setText(tv);
      y.setText(tv1);
   }
});

检查是否有任何返回的字符串为空。如果是这样,请使用名为input_not_filled的string.xml中保存的文本保存1秒钟的小消息。当然不处理setText。当然,您可以单独检查元素。

我认为这是最简单的方法。

干杯

答案 1 :(得分:1)

好的,尝试使用AlertDialog。检查字段是否为空,如果是,

final AlertDialog alertDialog = new AlertDialog.Builder(getApplicationContext())
                    .create();
alertDialog.setTitle("Warning");
alertDialog.setMessage("Please fill required fields");
            alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    alertDialog.dismiss();
                    //Warn user
                }
            });
alertDialog.show();

即使我认为使用Toast + Animation会更好,因为谷歌的例子告诉我们。无需打扰用户。

答案 2 :(得分:0)

欢迎来到Stackoverflow。

此网站旨在帮助您发现错误并在其他用户的帮助下进行修复。因此,如果你不释放每个,我,e,o或你,它也有帮助。

现在你的问题。

要检查字段是否为空,请按以下方式进行测试:

tv = name.getText().toString();
if(tv.trim().equals("")) {
    // text is empty

    showDialog(EMPTY_TEXT_ALERT);
}

现在,您已调用showDialog,您必须在活动类中覆盖onCreateDialog(int id)。您还必须定义我在此处使用的EMPTY_TEXT_ALERT变量。

private final static int EMPTY_TEXT_ALERT = 0;

@Override
protected Dialog onCreateDialog(int id) {
    switch(id) {
        case EMPTY_TEXT_ALERT: {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setMessage("Your error message")
                   .setPositiveButton("OK", new DialogInterface.OnClickListener() {

                       @Override
                       public void onClick(DialogInterface dialog, int which) {
                           dialog.cancel();
                       }
             });

             return builder.create();
        }
    }

    return null;
}

这样,使用适当的showDialog调用id将显示对话框,然后点击OK按钮,之后将关闭它。

答案 3 :(得分:0)

这很简单,工作正常

EditText ed=(EditText)findViewById(R.id.ed1);
String var=ed.getText().toString();
if(var.length()==0) {
   ed.setError("Your message");
}
else {
   // continue
}