开发者社区> 问答> 正文

Android中GridView如何改变所有图片的中状态

我做的GridView中每个图片中都有一个按键,默认是显示的.当网上下载缓存到本地时.如果缓存没有清除的话按键就一直隐藏.
现在的问题是当我退出时,已经隐藏好的按键,又显示出来了.只有在点击时才会隐藏,我如何做才能把缓存好图片的按键一直隐藏,
这是我在Adapter中写的代码.请看看有什么要改的地方

 class MyAdapter extends BaseAdapter {
 int clickTemp = -1;
    public void setSeclection(int position) {
        clickTemp = position;
        }
    @Override
    public int getCount() {
        return urlList.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView==null){
            view=View.inflate(ReplaceBackgroundActivity.this, R.layout.background_item, null);
            convertView=view;
        }
        ImageView iv_background = (ImageView) convertView.findViewById(R.id.iv_background);
        background_dot=(ImageView) convertView.findViewById(R.id.background_dot);
        File dir2=new File(Environment.getExternalStorageDirectory()+IMAGE_CACHE_PATH);
        if(dir2.exists()){
            background_dot.setVisibility(View.GONE);
        }else{

        }
        if (position == 0) {
            iv_background.setScaleType(ScaleType.FIT_CENTER);
            iv_background.setPadding(100, 25, 100, 30);
            iv_background.setImageBitmap(bitmapList.get(0));
            background_dot.setVisibility(View.GONE);
            // iv_background.setPadding(left, top, right, bottom);
        }else if(position==1){
            iv_background.setImageBitmap(bitmapList.get(position));
            iv_background.setScaleType(ScaleType.FIT_XY);
            iv_background.setPadding(1, 1, 1, 1);
            background_dot.setVisibility(View.GONE);
        } 
        else {
            String url = urlList.get(position);
            if(url.indexOf("http")!=-1){
                mImageLoader.displayImage(url,iv_background,options);               

                iv_background.setScaleType(ScaleType.FIT_XY);
                iv_background.setPadding(1, 1, 1, 1);
            }else{

                Bitmap bm = BitmapFactory.decodeFile(url);
                iv_background.setImageBitmap(bm);
                iv_background.setScaleType(ScaleType.FIT_XY);
                iv_background.setPadding(1, 1, 1, 1);
                                background_dot.setVisibility(View.GONE);
            }
        }
        if (clickTemp == position) {
            convertView.setBackgroundResource(R.drawable.gridview_shape);
            background_dot.setVisibility(View.GONE);
        } else {
            convertView.setBackgroundResource(R.drawable.gridview_shape2);
            }
        return convertView;
    }

}

展开
收起
爵霸 2016-06-01 14:35:33 2117 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载