Android在不同的活动上显示ProgressDialog

时间:2014-03-08 06:15:51

标签: android dialog

我得到一个奇怪的错误,上面写着“在范围内无法访问MainActivity类型的封闭实例”我不知道如何处理这个问题。该错误专门针对MainActivity.this。会发生什么,我呼吁其他类在后台工作,我需要在某一点显示一个对话框,以中断用户替换某些文件,进行更新。我怎么能通过另一个类来设置对话,就像我正在做的那样,或者是否有另一种方式可能是广播接收器?

这是我尝试在另一个类中激活对话框

public class UnZip
{       

      public static void startzip(String pathzip, String folderpath)
{

    File zipFile = new File(pathzip);
    Log.d(TAG, "INSDIE of startzip path is " + zipFile);

    if(isZipValid(zipFile))
    {
        MainActivity.mProgressDialog = new ProgressDialog(MainActivity.this);

        MainActivity.mProgressDialog.setMessage("Please Wait while updating...");

        MainActivity.mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

        MainActivity.mProgressDialog.setCancelable(false);

        MainActivity.mProgressDialog.show();

        Log.d(TAG, "Made it to StartZIp");

        new UnZipTask().execute(pathzip, folderpath);
    }
    else
    {

        Log.d(TAG, "Made it to StartZIp FALSE");
        Toast.makeText(MainActivity.this, "Zip related error", Toast.LENGTH_SHORT).show();
    }


}

}

1 个答案:

答案 0 :(得分:2)

MainActivity。这只适用于您在MainActivity的内部类中。如果您在MainActivity本身,请使用此功能。如果你完全在另一个班级,你需要传递一个上下文的实例(通常是你所在的活动)并传递它。