我正在为shopify网站开发一个商店前端应用程序,并希望在主屏幕上显示图像和产品标题,其中卡片布局从商店服务器中提取数据。
我有显示所有内容并且可以滚动它,但是当快速滚动应用程序时,会显示一些产品会短暂显示不同的产品图像,然后在几秒钟之后加载正确的产品。
有没有办法下载或保持图像缓存,以便它们始终保持在正确的cardView中?有什么东西需要添加到layoutManager或者java中的recyclerView吗?
我在移动设备上,因此无法上传代码,但如果需要可以稍后上传。
答案 0 :(得分:1)
您的问题:
有没有办法下载或保持图像缓存,以便它们始终保持在正确的cardView中?
是的,有一种方法可以使用两个库Picasso
和okhttp
来查看更多详情this answer
我需要在layoutManager或者java中的recyclerView中添加一些内容吗?
不,你不需要添加任何内容:)
我希望这会对您有所帮助并让您以正确的方式对该库进行许多研究
祝你好运!答案 1 :(得分:1)
您可以在图像完成加载时隐藏图像视图。即使您将图像存储在设备上,当您在重复使用卡片时滚动时也可能需要一点时间来加载新图像,并且可以包含其他图像。
在recyclerview适配器的onBindViewHolder方法上:
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
viewHolder.image.setVisibility(View.INVISIBLE);
}
图像完成加载后,将其设置为可见:
image.setVisibility(View.VISIBLE);
这样,在加载图像之前不会显示任何内容。
答案 2 :(得分:0)
要保持图像缓存,您可以:
FirebaseDatabase.getInstance().setPersistenceEnabled(true);