GridView与ProgressBar设置不可见

时间:2014-12-22 14:21:06

标签: android gridview

我的应用包含网格视图,可从网上下载图片,然后在 imageview 上显示这些图片,直到那时 progressBars 可见。请注意,网格视图的所有图像视图都有自己的进度条

下载完成后,会显示图像,然后进度条变为不可见。

我的代码: -

public class MyAdapter extends BaseAdapter {

            @Override
            public int getCount() {
                // TODO Auto-generated method stub
                return data.size();
            }

            @Override
            public String getItem(int arg0) {
                // TODO Auto-generated method stub
                return data.get(arg0);
            }

            @Override
            public long getItemId(int arg0) {
                // TODO Auto-generated method stub
                return arg0;
            }

            public class ViewHolder
            {

                ImageView image;
                ProgressWheel pb;
            }

            @Override
            public View getView(int arg0, View arg1, ViewGroup arg2) 
            {
                View vi = arg1;
                final ViewHolder holder;

                if(arg1==null)
                {
                    LayoutInflater inflater = (LayoutInflater) itemgridsub.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                    vi = inflater.inflate(R.layout.gridsubitems, arg2,false);

                    holder = new ViewHolder();

                    holder.pb=(ProgressWheel)vi.findViewById(R.id.pbsub);

                holder.image=(ImageView)vi.findViewById(R.id.gridsub_iv);

                    Typeface type = Typeface.createFromAsset(getAssets(), "fonts/comic.ttf");

                    vi.setTag(holder);
                }
                else{
                    holder=(ViewHolder)vi.getTag();
                }

                Picasso.with(getApplicationContext())
               .load(link)
               .fit().centerCrop().into(holder.image,new Callback(){

                @Override
                public void onError() {
                    // TODO Auto-generated method stub
                    Toast.makeText(getApplicationContext(), "Oops Downloading Failed.\nPlease Try Again.", Toast.LENGTH_LONG);
                }

                @Override
                public void onSuccess() {
                    // TODO Auto-generated method stub
                    holder.pb.setVisibility(View.INVISIBLE);
                }

            });


                return vi;
            }

           }

我的问题: -

活动开始,下载开始,所有进度条都显示在imageview上,然后在下载图像后,它们将显示在网格视图中。但是在位置0,即进度条一直显示的第一个网格项。

所有其他项目仅显示图像,因为其进度条不可见但第一项显示图像以及进度条。

为什么这只发生在第一个进度条上?这里的错误是什么。

感谢。

0 个答案:

没有答案