我做了一些有文字和图片的SNS。
当用户上传图片时,firebase recycleler视图会显示图片。
我正确地为我工作。
向下滚动向上时出现问题 第一次显示的图像消失了。
xml中的图像大小固定为300dp,如下所示在recyclerviewitem中为300dp
<ImageView
android:layout_width="310dp"
android:layout_height="310dp"
android:id="@+id/iv_board_attached"
android:layout_gravity="center_horizontal"
android:paddingTop="5dp"
android:src="@drawable/blank"/>
要知道用户是否上传图片,我把代码放在populateViewHolder
中 if(board.attachedPic.equals("") || board.attachedPic.equals(null)){
noticeBoardViewHolder.goneAttached();
}
else {
noticeBoardViewHolder.setAttached(board.attachedPic);
}
在ViewHolder中,我尝试了两种方法来解决问题。 boardAttached.setVisibility(View.GONE)和boardAttached.setImageDrawable(null)
public void goneAttached() {
//boardAttached.setImageDrawable(null);
boardAttached.setVisibility(View.GONE);
//ViewGroup.LayoutParams params =
boardAttached.getLayoutParams();
//params.width = 0;
//params.height = 0;
//boardAttached.setLayoutParams(params);
}
public void setAttached(String text) {
attachedString = text;
Glide.with(mContext).load(attachedString)
//.override(310,310)
.centerCrop()
.placeholder(R.drawable.blank)
.dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.RESULT)
.into(boardAttached);
}
我认为滚动时图像消失的原因是在滚动时在回收器视图中更改图像大小。
当我没有修复图片大小(&#39;换行内容&#39;)并使用boardAttached.setImageDrawable(null);时,在回收站视图中有空位。
是否有问题或最佳方式来显示有选择地显示的图像?
请帮助我!
谢谢你的时间。