当RecyclerView.Adapter onBindViewHolder中存在两种类型的视图时,Glide不会加载图像

时间:2017-07-30 07:03:10

标签: android android-recyclerview recycler-adapter android-glide

我尝试使用getItemViewType使用2种类型的视图填充RecyclerView.Adapter,但我无法通过Glide从URL获取图像。如果你在第2项中向我展示Glide图像,我只会加载。 帮我解决一下。

有两种类型的视图,每种视图都有一个图像和不同的数据,这取决于视图的类型被分配了不同的cardview。

private static final String CLIENT_SECRET_PATH = 
    Uri.parse("file:///android_asset/***.json").toString()

1 个答案:

答案 0 :(得分:0)

您可以在视图中使用Glide in bind函数,而不是这样:

 public class ItemType1ViewHolder extends RecyclerView.ViewHolder
 {
  ImageView image;

 public ItemType1ViewHolder (View view)
 {
    super(view);
    image = (ImageView) view.findViewById(R.id.image);
 }

 public void bind(final ItemAdapter adapter, int position)
{
      // you should make items public and pass a context to your adapter

      Object object=(Object) adapter.items.get(position);
      Glide.with(adapter.context)
            .load(object.getItemImage())
            .into(image);

}

}