我想在我的代码中添加一个警报,这样当用户单击按钮而不填写字段时,就会出现错误消息。请提出一些措施。
这是我的代码:
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);
}
});
}
}
答案 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
}