ScrollView中嵌套ListView/ExpandableListView显示问题

ScrollView 嵌套ListView、ExpandableListView等列表 很多时候在需求上不仅仅是ListView等列表单独滑动,而是在ListView等列表上加上其他的试图,整个试图整体一起滑动,这个时候就会用到ScrollView嵌套ListView等列表试图一起使用。 如下图所示: 但ScrollView嵌套Listview等列表试图比我们预想的实现起来要困难。会有以下的一些问题 1、ScrollView 和 ListView 滑动冲突 2、 Listv... 阅读详情

android 官方不支持scrollview内部嵌套一个scrollview,所以listview嵌套listview或者scrollview嵌套ExpandableListView的话,listview的item是显示不全的,公司最近的项目中涉及到了这个问题,解决方法如下:

在设置了adapter之后,调用计算高度的方法即可;

ScrollView中嵌套ListView:

public void setListViewHeightBasedOnChildren(ListView listView) {
      ListAdapter listAdapter = listView.getAdapter();
      
      if (listAdapter == null) {
       return;
      }
      
      int totalHeight = 0;
      for (int i = 0; i < listAdapter.getCount(); i++) {
        View listItem = listAdapter.getView(i, null, listView);
        listItem.measure(0, 0);
        totalHeight += listItem.getMeasuredHeight();
      }
      
      ViewGroup.LayoutParams params = listView.getLayoutParams();
      params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
      
      listView.setLayoutParams(params);
      
}
ScrollView中嵌套ExpandableListView:

public static void setListViewHeightBasedOnChildren(ExpandableListView listView ) {
             // 获取ListView对应的Adapter
            ExpandableListAdapter listAdapter = listView.getExpandableListAdapter();
             if (listAdapter == null) {
                   // pre -condition
                   return;
            }

             int totalHeight = 0;
             for (int i = 0; i < listAdapter.getGroupCount(); i++) { // listAdapter.getCount()返回数据项的数目
                  View listgroupItem = listAdapter .getGroupView(i, true, null, listView );
                   listgroupItem.measure(0, 0); // 计算子项View 的宽高
                   totalHeight += listgroupItem .getMeasuredHeight(); // 统计所有子项的总高度
                  System. out.println("height : group" +i +"次" +totalHeight );
                   for (int j = 0; j < listAdapter.getChildrenCount( i); j++) {
                        View listchildItem = listAdapter .getChildView(i, j, false , null, listView);
                         listchildItem.measure(0, 0); // 计算子项View 的宽高
                         totalHeight += listchildItem.getMeasuredHeight(); // 统计所有子项的总高度
                        System. out.println("height :" +"group:" +i +" child:"+j+"次"+ totalHeight);
                  }
            }

            ViewGroup.LayoutParams params = listView .getLayoutParams();
             params.height = totalHeight + ( listView.getDividerHeight() * (listAdapter.getGroupCount() - 1));
             // listView.getDividerHeight()获取子项间分隔符占用的高度
             // params.height最后得到整个ListView完整显示需要的高度
             listView.setLayoutParams(params );
      }

前者是实现项目中,订单中心一个订单对应多个商品list展示,后者是购物车一个人对应多个商品并添加支付等信息时使用,后者根据前者修改的,网上关于ExpandableListView计算高度的好像挺少的,就自己改写了。

OVER。

ScrollView嵌套下ListView或ExpandableListView的高度自适应 最近因为项目需要使用ScrollView来嵌套ListView和ExpandableListView,在开发过程中发现,显示的时候ListView不能完全正确的显示,一种做法就是使ListView高度自适应。 阅读详情

相关推荐

基于PWM的汽车仪表步进电机微步驱动优化实践

本文深入探讨了基于PWM的微步驱动技术,用于优化汽车仪表步进电机的运行性能。通过将传统的分步驱动升级为PWM微步细分驱动,利用正弦/余弦查表法合成旋转磁场,有效消除了指针抖动与噪声,实现了指针的平滑、精准运动。文章以STM32和VID2905电机为例,提供了详细的硬件连接、代码实现及高级优化技巧,为提升汽车仪表体验提供了实用方案。

weixin_29169505的博客 512

ScrollView 嵌套 ListView or ExpandableListView显示问题(一行属性搞定)

前言项目中有一些复杂的布局难免会用到滚动视图嵌套列表的情况 ScrollView 若一个手机屏幕的大小都不能够显示整个页面的话,最外层根视图可以考虑使用ScrollView <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pare

Bubble的博客 650

课程复习---分析空间数据的细胞空间关系(python版本的mistyR)

课程复习---分析空间数据的细胞空间关系(python版本的mistyR)

weixin_53637133的博客 1221

Android ExpandableListview+Listview嵌套使用出现的问题解决办法

今天做项目时用到了二级分类列表,我的做法就是用ExpandableListview+Listview嵌套,的确是可行的,但是会出现listview永远只显示一行的高度。当时一看到这个问题,我就觉得是listview没有去计算父布局的高度,因此我写了个mylistview,继承listviewpublic class MyListView extends ListView { public

JustResponse的博客 1211

【博文汇总】I2C总线学习

将这一周学习I2C总线的文章汇总一下。 基础知识学习 触发器的建立时间和保持时间 如何学习总线技术 TTL电平和CMOS电平 深入理解 关于I2C和SPI总线协议 I2C总线深入浅出 I2C总线信号时序总结 对I2C总线协议的一些理解 对I2C总线的时钟同步和总线仲裁的深入理解 I2C总线学习终结,开始SPI总线的学习 深入理解IIC总线时序

ce123的技术博客 6215

109. SAP ABAP 应用程序中的锁机制和工作原理介绍

SAP ABAP 系统中的锁概念,是 SAP ABAP 为了保证`数据一致性`而引入的一种保护机制。 像 SAP 这种复杂的企业级应用,系统中同一时间段的同一份数据,可能会有多个 Transaction(终端用户或者 API )同时进行读写操作。为了防止出现数据不一致,SAP ABAP 引入了锁机制。 这种锁机制并非数据库服务器层面的锁,而是在 SAP ABAP 应用服务器层面上工作,加锁和解锁都由专门的 ABAP Function Module 来完成。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1467

ScrollView中嵌套ExpandableListView

为了让SrollView中嵌套ExpandableListView,我们就得改ListView的高度,所以写一个类继承于ExpandableListview: import android.content.Context; import android.util.AttributeSet; import android.widget.ExpandableListView; /*...

weixin_30498921的博客 231

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-差分信号

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-单端信号详细介绍了单端信号如何进行TDR仿真分析,下面介绍如何对差分信号进行TDR分析,还是以下图为例进行分析。Impedance是时域阻抗曲线,也是最主要的观测指标,注意:impedance曲线的时间刻度不是延时,延时=时间刻度/2,因为TDR测量的是用一来一回的原理去测量的。Use Lossy peeling 默认不勾选,勾选的话代表同时仿真无损和有损方案,不勾选代表仅仿真有损方案。

weixin_54787054的博客 856

ScrollView中嵌套ListView或ExpandableListView时显示不全的问题

在一个layout文件中放入当一个ListView或ExpandableListView

码农笔记 2051

C# 上位机高级功能实战:报警、历史回放与远程监控

本文介绍了工业上位机系统的高级功能实现,主要包括实时报警机制、历史数据回放和远程监控三部分。报警功能通过阈值检测实现异常提醒;历史回放利用数据库存储数据,通过定时器控制回放进度;远程监控提供TCP、WebSocket等多种数据传输方式。文章还给出了综合优化建议,如异步处理、报警去抖动等,最终形成一个包含数据采集、显示、存储、报表及高级功能的完整工业自动化闭环系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 750

提示词工程在机器翻译质量提升中的应用

Introduction to Prompt Engineering in Machine Translation Quality Improvement Keywords

AI天才研究院 1151

Android--------解决ScrollView中嵌套ExpandableListView显示不全的问题

##***Scrollview和ExpandableListView嵌套显示不全*** -当我们将ExpandableListView嵌套在Scrollview之中时,我们必须要确保我们的不居中ExpandableListView在最后 -在OnCreate()方法中要用到的代码 mListView = (ExpandableListView) find...

718

使用pytorch-superpoint与pytorch-superglue项目实现训练自己的数据集

superpoint与superglue的组合可以实现基于深度学习的图像配准,官方发布的superpoint与superglue模型均基于coco数据训练,与业务中的实际数据或许存在差距,为此实现基于开源的pytorch-superpoint与pytorch-superglue项目实现训练自己的数据集。然而,在训练pytorch-superpoint有诸多细节需要优化,特此整理成技术文档。本文档描述了实验pytorch-superpoint与pytorch-superglue项目训练自己的图像配准模型。

a486259的博客 9504

解决ScrollView嵌套ListView问题

解决ScrollView嵌套ListView问题 在学习开发中,曾多次碰到ScrollView嵌套ListView的问题,确认订单的页面,ScrollView中嵌套了ExpandableListView,ExpandableListView上面有固定的一些控件,下面也有固定的一些控件,整体又要能够滚动。 列表数据要嵌在固定数据中间,并且作为整体一起滚动。但是网上查到的解决办法好多无法真正解决...

fjnu_se的博客 168

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

四种方案解决ScrollView嵌套ListView问题

四种方案解决ScrollView嵌套ListView问题

coding 5万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

[原] 解决在ScrollView中嵌套ListView或ExpandableListView时显示不全的问题

[原] 解决在ScrollView中嵌套ListView或ExpandableListView时显示不全的问题

qq_38472465的博客 199

Android ListView、ExpandableListView只在ScrollView中占一行的高度(不能自适应)

在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容。在最近的工作中,遇见一个需求,需要将ListView、ExpandableListView嵌套到ScrollView中显示。于是乎有了如下布局: <ScrollView android:id="@+id/mScrollView" android:layout_widt...

aicyo8644的博客 274

android scrollview中嵌套expandablelistview

一、重新expandablelistview public class CustomExpandableListView extends ExpandableListView { public CustomExpandableListView(Context context, AttributeSet attrs) { super(context, attrs); // TODO A

swust_chenpeng的专栏 1万+

scrollview嵌套ExpandableListView、ListView导致显示高度不全

在原理上,和scrollivew嵌套listview高度显示不全是同样的处理办法。 一、自定义一个类继承ListView,重写onMeasure()方法,计算listview的高度。 public class CustomExpandableListView extends ExpandableListView { public CustomExpandableListView(Co

hs_73的博客 863

ScrollView嵌套ListView or ExpandableListView出现滑动冲突 以及 高度计算错误的问题

ScrollView嵌套ListView or ExpandableListView出现滑动冲突 以及 高度计算错误的问题。

ninolyn的博客 326

android关于scrollview嵌套ExpandableListView的实现1

刚开始以为就是和listview一样,用现成的方法 public static void setListViewHeightBasedOnChildren(ListView listView) { //获取ListView对应的Adapter ListAdapter listAdapter = listView.getAdapter(); i

wushaoge0129的专栏 1947

Android ScrollView嵌套listview或ExpandableListView

public void setListViewHeightBasedOnChildren(ListView listView) {           // 获取ListView对应的Adapter           ListAdapter listAdapter = listView.getAdapter();           if(listAdapter == null) {  

走向牛b之路! 1124

使用ExpandableListView实现ListView嵌套ListView

今天写界面发现是个ListView的嵌套 对我这个新手而言,只能发动网友的力量在网上找demo了,奈何没有找到。。。。(可能我搜索关键词不准确)还浪费了我的积分!后来突然想起之前有用ExpandableListView写过分组列表,让它默认展开并且不能收缩不就实现了我想要的效果了吗?哈哈哈,机智如我:) 关键代码: @ViewInject(value = R.id.elv_conf

Heatherhh的博客 1785

Android开发之ScrollView中嵌套ListView的解决方案

转自:http://blog.youkuaiyun.com/minimicall/article/details/40983331 在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全。我试过很多种方法,它们各有利弊。 在这里我将会从使用ScrollView嵌套ListView结构的原因、这个结构碰到的问题、几种解决方案和优缺点比较,

格物致知 508
上一篇: React Native 环境配置遇到的坑
Mudo_Yan
博客等级 码龄11年 0粉丝 2原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值