从自定义适配器中显示进度条或对话框

时间:2014-04-24 11:07:17

标签: android progress-bar progressdialog

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

onclick在我的适配器中的GetView中:

holder.iconImage.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        try{

           //load the image
        String name = folderName.get(position).toString();
        Intent i = new Intent(context, ImageViewLarge.class);
        i.putExtra("link", link);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);


        }
        catch(Exception e){
            Toast.makeText(context, "errror: " + e.toString() , Toast.LENGTH_LONG).show();
        }
    }

});

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

如果我的onclick在我的适配器内,我怎么能这样做?

我在适配器中尝试了这个但是出了错误:

dialog = ProgressDialog.show(context, "Opening Image","Please wait..");

"Unable to add window — token null is not for an application” 

1 个答案:

答案 0 :(得分:2)

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

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
        }
    });