警报对话框否定按钮相同的活动

Apa*_*ith 2 android android-alertdialog

我正在尝试一个简单的应用程序,用户在其中输入他的号码。我会显示一个警报对话框来确认他的手机号码。如果用户选择“是”,我将把他重定向到下一个活动。但问题是,如果用户选择“否”,我想显示相同的编辑号码的活动。

现在我通过调用同一活动的意图来做到这一点。但这是一个不好的做法。如何在活动中显示与上次输入的号码相同的活动?

这是我尝试的方法。按下按钮时

phoneNum = (EditText) findViewById(R.id.editTextPhoneNumber);
String phNum = phoneNum.getText().toString();
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
        MainActivity.this);
alertDialog.setTitle("CONFIRM");
alertDialog.setMessage("Is this your correct number? \n" + phNum
        + " a SMS will be sent to verify your phone number.");
alertDialog.setPositiveButton("YES",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                sendOtp();
                Intent myIntent = new Intent(getApplicationContext(),
                        Activity2Activity.class);
                startActivity(myIntent);
            }
        });
alertDialog.setNegativeButton("NO",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                // dialogInterface.cancel();
                Intent sameIntent = new Intent(MainActivity.this,
                        MainActivity.class);
                startActivity(sameIntent);
                finish();
            }
        });
alertDialog.show();
Run Code Online (Sandbox Code Playgroud)

小智 5

你可以阅读这个参考文档: 官方文档:Dialog Dismiss

注意这句话: 当用户触摸使用 AlertDialog.Builder 创建的任何操作按钮时,系统会为你关闭对话框。
无论用户单击Builder生成的哪个按钮,系统都会关闭该对话框。

alertDialog.setNegativeButton("NO", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {
        //Just leave it empty here.
    }
});
Run Code Online (Sandbox Code Playgroud)