在Android中的AlertDialog中按下确定后返回MainActivity

时间:2012-12-27 19:01:28

标签: java android android-intent alertdialog

我正在使用此警报对话框弹出一条消息,指出没有可用的有效互联网连接。

当用户点击“确定”时,我想回到MainActivity,但我似乎无法实现这一目标。

package com.xx.xx.xxhelper;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;


public class AlertDialogManager {

public void showAlertDialog(Context context, String title, String message,
        Boolean status) {
    AlertDialog alertDialog = new AlertDialog.Builder(context).create();

    // Setting Dialog Title
    alertDialog.setTitle(title);

    // Setting Dialog Message
    alertDialog.setMessage(message);

    if(status != null)
        // Setting alert dialog icon
        alertDialog.setIcon((status) ? R.drawable.success : R.drawable.fail);

    // Setting OK Button
    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {

        public void onClick(DialogInterface dialog, int which) {
    }

    });

    // Showing Alert Message
    alertDialog.show();
}
}

我添加了

public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(AlertDialogManager.this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)    
startActivity(intent);
}
});

但我明白了:

  1. 构造函数Intent(AlertDialogManager,Class)未定义
  2. 方法startActivity(Intent)未定义类型new DialogInterface.OnClickListener(){}
  3. 任何线索?

2 个答案:

答案 0 :(得分:3)

使用以下内容传递Activity上下文(在警告对话框中单击确定时启动活动):

public void onClick(DialogInterface dialog, int which) {
    Intent intent = new Intent(context, HomeActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        context.startActivity(intent);
}

答案 1 :(得分:1)

您应该使用传递的上下文:

 public void onClick(DialogInterface dialog, int which) {
      Intent intent = new Intent(context, HomeActivity.class);
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);    
      context.startActivity(intent);
    }
 });