由于图片异步加载,造成的被scrollView包裹的listview显示不全

本文探讨了在Android开发中,ScrollView包裹的ListView因图片异步加载导致显示不全的问题。在一些场景下,如搜索页面,每个列表项包含上部图片和下部文字,而部分项可能没有图片。由于异步加载,常规的解决ListView高度计算的方法不再适用,需要寻找新的解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android开发大家肯定都知道scrollview包裹listview的时候会使listview显示不全,这种情况的处理方式网上的办法很多我就不介绍了,现在我来介绍一种新情况:

   就是我们公司现在有一个需求,一个搜索的页面用scrollview包裹listview展示,,每个item的布局是上边是图片,下边是文字,但是有的item是没有图片的,因为现在我们常用的图片加载框架大部分是异步加载的,在就造成了你在scrollview中计算的listview的高度不准确,是listview的数据显示不完整,用了网上常用的解决办法,重新计算listview的方法显然也不可以,毕竟图片是异步加载的,这就使常用的方法不可使用,

<ImageView
    android:id="@+id/iv_replay"
    android:layout_width="wrap_content"
    android:layout_height="100dp" />
if (!TextUtils.isEmpty(answerbean.sphoto)) {
    holder.iv_replay.setVisibility(View.VISIBLE);
    bitmapUtils.display(holder.iv_replay, answerbean.sphoto);
}else{
    holder.iv_replay.setVisibility(View.GONE);
}

最后我是用了一种方法:就是把imageview的高度写死,然后在判断后台传过来的图片路径是否存在,不存在的话就把imageview给gone掉,存在的话就存着,这样在使用常用的scrollview包裹listview的方法计算listview的高度就可以了,



我提供的不是技术,只是想法而已...


 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值