如何在alertDialog中执行onClick事件?

How to perform onClick event in alertDialog?

我创建了一个异常 class,在带有确定按钮的已声明警报对话框中。现在我在另一个 class 中使用此对话框,这次当我单击“确定”按钮时它将重定向到另一个 activity。

public class ExceptionClass {
public static void showAlertDialog(Context context, String title, String message, Boolean status) {
    AlertDialog alertDialog = new AlertDialog.Builder(context).create();        
    alertDialog.setTitle(title);        
    alertDialog.setMessage(message);         
    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
        }
    });       
    alertDialog.show();
}}

现在我在另一个 class 中使用了这个对话框,就像这样

 ExceptionClass.showAlertDialog(Activity2.class, "Title","error message" , true);

现在,当我点击“确定”按钮时,它将重定向到 Activity1。

不要从另一个class 调用您的AlertDialog。如果需要,请在 class 中创建另一个。然后您的每个 AlertDialogs 都可以执行不同的操作。

    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {

    //start your activity here
    Intent i = ne Intent(ExceptionClass.this,Activity1.class); 
    startActivity(i);
    }
});     

使用要启动的 activity 创建一个意图,并通过为创建的意图再添加一个参数来更改 showAlertDialog() 方法。

showAlertDialog(Context context, String title, String message, Boolean status, Intent activityToBeLaunch)

然后在 "OK" 按钮上单击开始 activity 并传递意图。

        public void onClick(DialogInterface dialog, int which) {
           context.startActivity(activityToBeLaunch);
        }

您可以将 activity 引用作为参数传递给 "showAlertDialog" method.And 只需启动 activity。

OKonClick 中,您需要创建意图并开始 activity。

写下面一行代码。它会起作用

context.startActivity(new Intent(context, Activity1.class));

名为 showAlertDialog 的方法是 static。你想调用任何 activity 中的方法吗?可以在onclick里面做回调方法。