如何在Gridview中没有项目时显示默认图像?

时间:2015-10-30 06:37:17

标签: android gridview

我正在使用看起来像Shelf的自定义char。我显示3列 当服务器中有5个项目时,Gridview的第6个位置为空

我想在其中显示机架线图像

Grid_item.xml

Gridview
  

enter image description here

im_ninja_delights_rack.png

  

enter image description here

4 个答案:

答案 0 :(得分:1)

使用piccaso库为imageView设置占位符

像这样

Picasso.with(this)
.load("IMAGE URL")
.placeholder(R.drawable.default_image) // optional
.error(R.drawable.error_image)         // optional
.into(imageView);

答案 1 :(得分:1)

我正在使用相同的条件

适配器类

1

public int getCount()
{

    return mItems.size()+1;
}

2

  public View getView(int position, View convertView, ViewGroup parent)
        {

            LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View gridView = inflater.inflate(R.layout.test_grid_layout, null);
            ImageView imageView = (ImageView) gridView.findViewById(R.id.grid_item_image);
            if(position == mItems.size())
            {
                imageView.setImageResource(R.drawable.blank_img);
            }
            else
                {
                imageView.setImageURI(Uri.parse(mItems.get(position)));
            }
            return gridView;
        }

enter image description here

最后一张是空白图片

答案 2 :(得分:0)

如果您尝试每行显示3张图像,请确保图像列表是3的倍数。

然后,将默认图像设置为您在膨胀的xml中使用的图像视图。

做类似的事情,

在您的活动中,将适配器构造函数称为

    gridView.setAdapter(new BaseAdapterClass(context, actual_data_list, actual_data_list.size() + number_to_make_size_multiple_of_3));

然后,在Adapter类中,

    public int getCount(){
        return multiple_of_3_passed_from_activity;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        if(position < actual_data_list.size()) {
            // Set your image to imageview
        }

        return convertView;
    }

答案 3 :(得分:-1)

1

你的意思是?

我的解决方案是添加一些假物品来填充机架线并禁用onClick。