我在 onCreate 方法的 MainActivity 类中显示了一个带有 EditText 字段、取消和确定按钮的对话框屏幕,如下所示
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("User Login");
alert.setMessage("Enter your email address");
final EditText input = new EditText(this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String email = input.getText().toString().trim();
if (email == null || email.isEmpty())
{
AlertDialog.Builder alert_email = new AlertDialog.Builder(MainActivity.this);
alert_email.setTitle("Email Not Entered");
alert_email.setMessage("Please enter email.");
alert_email.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Intent start_mainactivity = new Intent(MainActivity.this, MainActivity.class);
startActivity(start_mainactivity);
}
});
alert_email.show();
}
else
{
doSomething();
}
}
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
finish();
System.exit(0);
}
所以从上面的代码中,我试图做的是显示一个 EditText 视图字段来收集用户的电子邮件,如果用户输入了电子邮件,代码将继续必要的处理,但是如果用户OK
在没有向 EditText 输入数据的情况下单击,只会显示另一个对话框说使用"Email not Entered"
确定按钮,如果用户单击此处,OK
我将再次启动 MainActivity 类以收集工作正常的电子邮件。问题是
当首先启动主要活动并单击Cancel
按钮时,应用程序将退出到按预期工作的主屏幕
当用户在OK
未输入数据的情况下通过显示电子邮件、取消和确定按钮启动主活动类时单击按钮,现在当我们Cancel
在此阶段单击按钮时,应用程序无法退出到主屏幕,而是再次打开主活动屏幕.
Cancel
那么当用户在任何阶段单击按钮时如何直接终止进程
编辑
通过以下建议,我已将意图起始代码编辑到下面并且它有效
Intent start_mainactivity = new Intent(MainActivity.this, MainActivity.class);
start_mainactivity.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
start_mainactivity.putExtra("EXIT", true);
startActivity(start_mainactivity);