2011-02-16 67 views
0

我想在我的代码中添加警报,以便当用户单击没有填充字段的按钮时,会出现错误消息。请提出一些措施。如何在用户提交空字段时发出警告

这是我的代码:

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); 
     } 
    }); 


} 

}

+2

对不起听到键盘上的所有元音都坏了。我已经将它们添加回给你了:-)不,但严重的是,标题只是你的问题的简短版本 - 你不必尝试并将_everything_塞进那里,特别是如果唯一的方法你可以得到它适合的是进入手机短信模式。 – paxdiablo 2011-02-16 08:26:17

回答

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会更好,如Google示例显示的那样。无需打扰用户。

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。当然你可以独立检查元素。

我觉得这是最简单的方法。

干杯

0

嘿欢迎来到Stackoverflow。

本网站旨在帮助您发现错误并在其他用户的帮助下解决问题。因此,如果你不让每个人,每个人,每个人,每个人都有所帮助,那也是有帮助的。

现在你的问题。

要检查,一个字段是否为空,您测试类似如下:

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键式点击,将被创建之后关闭它。

相关问题