显示自定义适配器内部的进度条或对话框

use*_*721 2 android progressdialog progress-bar

我有一个带有图像的列表视图。用户可以单击缩略图,然后将下载更大的图像并将其显示在新活动内的 ImageView 中。

\n\n

onclick 位于我的适配器中的 GetView 内:

\n\n
holder.iconImage.setOnClickListener(new View.OnClickListener() {\n    @Override\n    public void onClick(View v) {\n\n        try{\n\n           //load the image\n        String name = folderName.get(position).toString();\n        Intent i = new Intent(context, ImageViewLarge.class);\n        i.putExtra("link", link);\n            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);\n        context.startActivity(i);\n\n\n        }\n        catch(Exception e){\n            Toast.makeText(context, "errror: " + e.toString() , Toast.LENGTH_LONG).show();\n        }\n    }\n\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

显示图像可能需要几秒钟的时间,因此我希望在加载图像时在屏幕上显示一个对话框或一个圆形进度旋转圆圈。

\n\n

如果我的 onclick 位于我的适配器内,我该如何执行此操作?

\n\n

我在适配器内尝试了此操作,但收到错误:

\n\n
dialog = ProgressDialog.show(context, "Opening Image","Please wait..");\n\n"Unable to add window \xe2\x80\x94 token null is not for an application\xe2\x80\x9d \n
Run Code Online (Sandbox Code Playgroud)\n

Aji*_*bey 5

您可以使用此代码,它工作正常。

viewHolder.text.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            ProgressDialog dialog = new ProgressDialog(context);
            dialog.setMessage("Please wait.....");
            dialog.show();
            // you can add here  your stuffs
        }
    });
Run Code Online (Sandbox Code Playgroud)