listview嵌套listview,子listview中有换行的textview展示有问题,肿么办?

针对产品需求,使用ListView嵌套ListView时遇到TextView换行显示异常的问题。尝试过重写ListView的onMeasure方法和动态测量ListView高度,但效果不佳。进一步研究发现,可以通过重写TextView的onMeasure方法计算行数来解决,但实际操作仍存在问题。最终,采用LinearLayout替代子ListView作为临时解决方案,设置orientation为vertical,复用原来的adapter创建子View,实现了类似列表的效果。

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

        这些天遇到一个问题,就是我有个界面因为业务的需要,就必须做成listview嵌套listview,然后被嵌套的listview的Item里面有textview,刚开始也没什么,后来突然有条数据的字符串特别长,然后子listview的Item的textview就换行了,然后,然后你们懂得,子listview就显示异常了呀,内容就不能完全展示了。

        其实google也是不推荐可以滚动的控件里面再次嵌套可以滚动的控件的。可是,无奈产品的需求呀。不过,已经有大神解决了这种嵌套问题,一般是有两种解决方法,一是重写listview的onMeasure方法,另外一种是设置完listview的adapter,动态测量listview的高度,当然这种情况是要求listview的子条目最外层布局是linearlayout线性布局了。其实说这个也是为这个textview换行问题做铺垫了。我嵌套listview时候用的是 第一种方法就是自定义了listview。但是依然出现了这个问题,好的,那咱们换换第二种方式呢?结果依然悲剧,依然是有问题。然后就去看看网上大牛都是怎么解决的。其实,看了下最主要的就是有两种解决方式,一种是用重写onMeasure的listview的方式,但是我试了不好使。另外一种就是重写textview的onMeasure,就是去除padding以及drawablePadding后,算出每行的宽度,然后用measureText方法测试赋值给textview的字符串在屏幕上占据的总长度,然后两者相除得到行数,然后在用textview每行的高度*行数得到textview应有的宽高,看起来也的确是合情合理呀。可是我试了还是不好使的。哎,日子可该怎么过呀。

         既然试了都不好用。然后我就想用listview肯定是不行了。看来列表类的都不好用了。然后,然后我就用了linearla

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值