gpt4 book ai didi

java - 如果用户在 Edittext 中键入无效数据,如何使 AlertDialog 框保持打开状态?

转载 作者:行者123 更新时间:2023-11-30 03:05:47 25 4
gpt4 key购买 nike

我有一个 alertDialog 框,要求用户输入他们的全名和电子邮件。我正在尝试验证数据,如果数据无效,我想再次显示带有错误消息的对话框(就像您在 android 中使用 Edittext 字段一样)。我将如何在 OK 按钮内执行此操作?这是我的代码:

final AlertDialog.Builder zoomDialog = new AlertDialog.Builder(new ContextThemeWrapper(activity, android.R.style.Theme_DeviceDefault_Light_Dialog));
LayoutInflater factory = LayoutInflater.from(activity);
final View f = factory.inflate(R.layout.name_and_email, null);

zoomDialog.setTitle("Please enter your name and email");
zoomDialog.setView(f);
zoomDialog.setPositiveButton("SUBMIT", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dlg, int which) {
((onFollowedListener) activity).onFollowed();


EditText full_name = (EditText)f.findViewById(R.id.follower_name);
EditText email_address = (EditText)f.findViewById(R.id.follower_email);

String follower_name = full_name.getText().toString();
String follower_email = email_address.getText().toString();
Validator validator = new Validator();
if(validator.validateFullName(follower_name) && validator.validateEmail(follower_email)){
Toast.makeText(activity, follower_name + " " + follower_email,
Toast.LENGTH_LONG).show();
}else {
full_name.setError("** Required: Please enter your name and email");
full_name.requestFocus();
Toast.makeText(activity, " Please enter your name and email! " ,
Toast.LENGTH_LONG).show();
return;
}



Intent intent = new Intent(activity, RewardActivity.class);
intent.putExtra("type", "followers");
startActivity(intent);

}
});

zoomDialog.show();

每次单击提交(正)按钮时,对话框都会消失。我想让它保持打开状态,以便用户可以重新输入所需的信息,而不是返回到他们开始的地方。

如果我可以在 else 子句中调用 show() 方法,它会更容易,但它不起作用!

任何帮助将不胜感激。提前致谢。

最佳答案

我建议构建一个带有 editText 和按钮的自定义对话框,您可以注册您的 onClick 并在关闭它之前执行您想要的操作,check here more details

关于java - 如果用户在 Edittext 中键入无效数据,如何使 AlertDialog 框保持打开状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21839357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com