Android 在不同的 Activity 上显示 ProgressDialog

标签 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();
    }


}

}

最佳答案

MainActivity.this 只有在您位于 MainActivity 的内部类中时才有效。如果您在 MainActivity 本身,只需使用它。如果您完全在另一个类(class),则需要将一个 Context 实例(通常是您所在的 Activity )传递给它,然后改为传递它。

关于Android 在不同的 Activity 上显示 ProgressDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22265867/

相关文章:

android - 找不到方法 apt()

android - 指定的 child 在膨胀 View 上已经有父错误

android - 从下一个 Activity 的 Json 响应中提取 json 字符串,即身份验证 token 。

android - 为什么 android 将 vm 内存大小限制为任意 24 或 32 MB?

java - 如何从图库中的图像中获取(提取)文本并搜索该文本 - Android?

java - 编辑文本 : Attempted to finish an input event but the input event receiver has already been disposed

javascript - 如何使 "xp"命名空间中的不同 id 可见

java - 在 Android 屏幕旋转后,是否有适当的方法来保留带有自定义对象列表的对话框?

Android 向用户显示来自后台应用程序或服务的是-否对话框

Android:在 TextInputLayout 中的 EditText 的右侧显示 TextView