android - 如何在自定义适配器中初始化 ProgressDialog

标签 android

我正在尝试在自定义适配器中使用 AsuncTask。当我尝试使用

class UpdateProductVariantTask extends AsyncTask<String, String, Void> {

    private ProgressDialog progressDialog = new ProgressDialog(context);
    String result = "";

    protected void onPreExecute() {
        progressDialog.setCancelable(false);
        progressDialog.setMessage("Please wait.....");
        progressDialog.show();
        progressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
            public void onCancel(DialogInterface arg0) {
                UpdateProductVariantTask.this.cancel(true);
            }
        });
    }
}

我收到这个错误:

android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application

在线 progressDialog.show();

如何解决这个错误?

最佳答案

尝试使用 Activity 而不是上下文。

private ProgressDialog progressDialog = new ProgressDialog(activity);

关于android - 如何在自定义适配器中初始化 ProgressDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34837107/

相关文章:

html - 配置 Android Web 应用程序

Android线性布局对齐问题

java - ROOM Android SQLite 数据库 - 无法创建表

android - 在 Android 中使用低功耗蓝牙初始化连接而不同步

Android:使用带有 fragment 错误的savedInstanceState

java - 更改 URL 中列表/数组的格式 [Retrofit 2]

android - android和Server之间的两种通信方式

java - Google 方向 api 跳过有关小转弯的信息

android - 像 Ola Cabs Android 应用程序一样以编程方式打开 GPS

android - Phonegap 构建启动画面