Java 空白编辑文本上的弹出错误
如何要求用户将数据输入到Java 空白编辑文本上的弹出错误,java,android,android-intent,Java,Android,Android Intent,如何要求用户将数据输入到EditText中,并且在填充EditText之前不允许应用程序继续 现在,即使用户确认错误消息指出EditText为空且是必需的,我的应用程序仍会继续进行 private final static int EMPTY_TEXT_ALERT = 0; protected Dialog onCreateDialog(int id) { switch(id) { case EMPTY_TEXT_ALERT: {
EditText
中,并且在填充EditText
之前不允许应用程序继续
现在,即使用户确认错误消息指出EditText
为空且是必需的,我的应用程序仍会继续进行
private final static int EMPTY_TEXT_ALERT = 0;
protected Dialog onCreateDialog(int id) {
switch(id) {
case EMPTY_TEXT_ALERT: {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("oops!!")
.setPositiveButton("ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
return builder.create();
}
}
return null;
}
public void sends(View v) {
DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker1);
int year = datePicker.getYear();
int month = datePicker.getMonth();
int day = datePicker.getDayOfMonth();
final EditText phone = (EditText) findViewById(R.id.editText2);
final EditText nameplate = (EditText) findViewById(R.id.editText3);
final EditText issue = (EditText) findViewById(R.id.editText4);
String ph = phone.getText().toString();
if(ph.trim().equals("")) {
// text is empty
showDialog(EMPTY_TEXT_ALERT);
}
String np = nameplate.getText().toString();
if(np.trim().equals("")) {
// text is empty
showDialog(EMPTY_TEXT_ALERT);
}
String i = issue.getText().toString();
if(i.trim().equals("")) {
// text is empty
showDialog(EMPTY_TEXT_ALERT);
}
else
{StringBuilder s= new StringBuilder(100);
s.append(year);
s.append(". ");
s.append(month+1);// month starts from 0 in this
s.append(". ");
s.append(day);
s.append(". ");
s.append(". ");
s.append(ph);
s.append(". ");
s.append(np);
s.append(". ");
s.append(i);
String st=s.toString();
Intent emailIntentt = new Intent(android.content.Intent.ACTION_SEND);
emailIntentt.setType("plain/text");
String aEmailList[] = { "shreyas.t@gmail.com" };
emailIntentt.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList);
emailIntentt.putExtra(android.content.Intent.EXTRA_SUBJECT, "Feedback");
emailIntentt.putExtra(android.content.Intent.EXTRA_TEXT, st);
startActivity(emailIntentt);
}
}}
什里亚斯塔拉尼
如何验证电话号码。。。输入超过10位的数字
应显示错误消息
如果您只是想测试字符串的长度
,只需获取字符串
,并将长度与最大长度10进行比较
在validate(…)
方法中,执行以下类似操作:
String ph = phone.getText().toString();
if(ph.trim().equals("")) {
showDialog(EMPTY_TEXT_ALERT);
} else if (ph.length() > 10) {
showDialog(TEXT_TOO_LONG_ALERT);
}
您还可以使您的EditText
仅允许数值。这将帮助您验证这些数字。您可以在xml文件或代码中执行此操作
xml
android:inputType="TYPE_NUMBER_VARIATION_NORMAL"
代码
EditText.setInputType(InputType.TYPE_NUMBER_VARIATION_NORMAL);
您可以做的第一件事是添加一个
validate(…)
方法。在验证(…)
中,您需要验证所有字段,如果有任何字段留空,则显示错误消息并停止应用程序进程
如果所有字段都正常,则调用send方法。和
send(…)
应该只发送数据,而不检查验证。您可以在显示对话框后添加return语句,如下所示
if(i.trim().equals("")) {
// text is empty
showDialog(EMPTY_TEXT_ALERT);
return;
}
不过,使用Toast消息比使用showDialog要好。我不知道您是如何调用sends()方法的,但是在出现任何空错误后,您可以在showDialog()之后立即添加return语句。这意味着在用户输入文本后,必须通过UI重新调用sends()方法
如果通过onClick()从按钮调用sends()方法,则表示用户将看到有错误的对话框,输入一些文本,然后点击按钮再次发送。祝酒有时是更好的选择。但是,如果要强制用户注意该字段为空,则需要使用
对话框
,用户必须按“ok”或其他按钮关闭对话框
。祝酒词不需要用户输入即可进行,有时很难看到。@prolink007:是的,对话框更适合我的应用程序…我想向用户显示错误…@prolink007绝对正确。可能高亮显示edittext并在edittext下方显示错误消息也是一个不错的选择。如果用户出错,按“确定”键会很烦人。@ShreyasTallani很高兴我能帮忙:)我还需要一个帮助。。。如何验证电话号码。。“ph”代表电话号码。。。如果用户输入的数字超过10位,则应显示错误消息Shreyas Tallani刚才编辑是的,问题解决了:)我还需要一个帮助。。。如何验证电话号码。。“ph”代表电话号码。。。如果用户输入的数字超过10位,则应显示错误消息。我还需要1个帮助。。。如何验证电话号码。。“ph”代表电话号码。。。如果用户输入的数字超过10位,则应显示错误消息。:)在我的答案的评论中添加有关您的问题的信息。如果我发布的内容对您有所帮助,请告诉我。