3

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

当用户单击确定时,我想回到 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. 未为类型 new DialogInterface.OnClickListener(){} 定义方法 startActivity(Intent)

任何线索?

4

2 回答 2

3

使用如下内容传入Activity上下文(在OK单击警报对话框时启动活动):

public void onClick(DialogInterface dialog, int which) {
    Intent intent = new Intent(context, HomeActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        context.startActivity(intent);
}
于 2012-12-27T19:04:47.747 回答
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);
    }
 });
于 2012-12-27T19:05:55.627 回答