当我在adialog中验证EditText并显示错误消息以供用户输入他/这里的名字以防止使用setError()方法输入名称时,错误消息会显示很短的时间然后对话框关闭。 我已经使用自定义对话框来解决peroblem但我不喜欢它的外观我更喜欢使用普通对话框,我的问题是,当用户点击确定按钮而不输入他的名字时,有一种方法可以显示错误信息很长一段时间然后使用普通对话框关闭对话框?
这是我的代码
name_btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
});
protected Dialog onCreateDialog(int id)
{
switch (id) {
case Name_Dialog_ID:
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.alert_dialog_text_entry, null);
name = (EditText) textEntryView.findViewById(R.id.nameETDialog);
return new AlertDialog.Builder(this)
.setTitle(" please enter your name ")
.setView(textEntryView)
.setPositiveButton("ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//validate the name
if( name.getText().toString().length() == 0)
name.setError( " your name is requiered" );
else
{
EditText nametext=(EditText)findViewById(R.id.name_text);
nametext.setText(name.getText().toString());
Toast.makeText(getBaseContext(),
"your name has been entered ",
Toast.LENGTH_SHORT).show();
}
}
})
.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getBaseContext(), "Cancel Clicked", Toast.LENGTH_SHORT).show();
}
})
.create();
}
return null;
}