-
ListView嵌套
2017-11-19 14:53:3411月19号遇到的问题:ListView嵌套使用时出现的问题1.首先我想使用ListView嵌套ListView来实现一个功能,但是发现不能这么做,因为ListView的item是等高的,而内层listview的数据是未知的。所以改用ScrollView嵌套...11月19号遇到的问题:ListView嵌套使用时出现的问题
1.首先我想使用ListView嵌套ListView来实现一个功能,但是发现不能这么做,因为ListView的item是等高的,而内层listview的数据是未知的。所以改用ScrollView嵌套listview。
2.当使用ScrollView嵌套ListView时出现ListView数据只显示一行的问题。这个时候去baidu发现说是因为ScrollView不能检测出ListView的高度的原因,需要手动去测量ListView的高度。在代码中添加下面这个方法,同时在listview.setAdapter(adapter);之后调用此方法即可。
public void setListViewHeightBasedOnChildren(ListView listView) { //获取listview对应的adapter MyAdapter adapter = (MyAdapter) listView.getAdapter(); if (adapter == null) { return; } int totalHeight = 0; for (int i = 0, len = adapter.getCount(); i < len; i++) { //len数据项的数目 View listItem = adapter.getView(i, null, listView); listItem.measure(0, 0); totalHeight += listItem.getMeasuredHeight(); ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight() * (adapter.getCount() - 1)); // listView.getDividerHeight()获取子项间分隔符占用的高度 // params.height最后得到整个ListView完整显示需要的高度 listView.setLayoutParams(params); } }
3.根据网上说的,这样即可解决数据显示问题。但是我这样写了之后,数据显示是没问题了。但是ListView的滑动又出现了问题。这个时候需要在ListView中加一个属性
android:nestedScrollingEnabled="false"<!--禁止listview的滑动-->
但是我加过之后还是不好使,最后发现需要写一个NoScrollListView extends ListView,将此NoScrollListView替代原来的ListView写在Xml中
public class NoScrollListView extends ListView { public NoScrollListView(Context context, AttributeSet attrs) { super(context, attrs); } /** * 设置不滚动 */ public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }
至此问题终于解决。
-
listView嵌套listView
2017-02-21 12:04:09listView嵌套listView -
ListView嵌套ListView
2015-09-08 14:57:32ListView嵌套ListView的demo -
listView嵌套listView.zip
2020-05-21 17:30:17android开发实现二级列表显示,点击显示隐藏,使用ListView嵌套自定义布局。 -
ScrollView嵌套ListView及ListView嵌套的高度计算方法
2020-08-28 08:56:35下面小编就为大家分享一篇ScrollView嵌套ListView及ListView嵌套的高度计算方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
ListView嵌套ListView 或者RecyclerView嵌套ListView
2017-10-19 10:07:031.ListView嵌套ListView 或者RecyclerView嵌套ListView都只能显示一行,原因是不知ListView的高是多少,如果完全显示嵌套的ListView,则需要修改ListView的测量规则 public class MyListView extends ListView { ...1.ListView嵌套ListView 或者RecyclerView嵌套ListView都只能显示一行,原因是不知ListView的高是多少,如果完全显示嵌套的ListView,则需要修改ListView的测量规则
public class MyListView extends ListView { public MyListView(Context context) { super(context); } public MyListView(Context context, AttributeSet attrs) { super(context, attrs); } public MyListView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int height = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE / 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, height); } }
2.布局文件中使用
<com.utils.MyListView android:id="@+id/fragment_comment_listview" android:layout_width="match_parent" android:layout_height="wrap_content"></com.utils.MyListView>
-
ListView嵌套ListView,ScrollView嵌套ListView
2016-07-12 11:25:31ListView嵌套ListView,ScrollView嵌套ListView中我遇到的问题 1:不能滑动(查看 android:focusable=”false” 这个属性) 2:只显示一行,其余被遮盖,只能滑动解决ListView嵌套ListView 在里面的listview用...得到实战验证,完全可用。
ListView嵌套ListView,ScrollView嵌套ListView中我遇到的问题
1:不能滑动(查看 android:focusable=”false” 这个属性)
2:只显示一行,其余被遮盖,只能滑动解决ListView嵌套ListView
在里面的listview用自定义的ListView一下全部解决
注意:ListView要放在LinearLayout中,因为LinearLayout才有onMeasure这个方法,相对布局没有!
自定义ListViewpublic class CusListView extends ListView { public CusListView(Context context) { super(context); // TODO Auto-generated constructor stub } public CusListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public CusListView(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { // TODO Auto-generated method stub return false; } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // TODO Auto-generated method stub int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }
在xml文件中的使用,尽可能也放在LinearLayout中
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@id/rl_row_item_title" android:background="@color/listview_bg_normal" > <com.ldtlaw.Tex_ledict.view.CusListView android:id="@+id/result2_row_listview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:divider="@drawable/list_divider" android:dividerHeight="1dp" android:fadingEdge="none" android:background="@android:color/white" /> </LinearLayout>
那么ListView就能自适应大小啦,就能全部展示
ScrollView嵌套ListView解决方法是:大家千篇一律的解决方法
就是用setListViewHeightBasedOnChildren方法
下面是Xml布局:注意都要用LinearLayout<ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@id/my_favorite_title_layout" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/lvFile_MyFavorite" android:layout_width="fill_parent" android:layout_height="fill_parent" android:divider="@drawable/filament" android:dividerHeight="2dp" android:fadingEdge="none" /> <ListView android:id="@+id/lvResult_MyFavorite" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/lvFile_MyFavorite" android:divider="@drawable/filament" android:dividerHeight="2dp" android:fadingEdge="none" /> </LinearLayout> </ScrollView>
setListViewHeightBasedOnChildren方法。这个方法大概意思就是根据你传入的Listveiw重新根据里面的个数计算其高度
public static void setListViewHeightBasedOnChildren(ListView listView) { if(listView == null) return; 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); if(listItem!=null){ listItem.measure(0, 0); totalHeight += listItem.getMeasuredHeight(); } } ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); listView.setLayoutParams(params); }
然后在在代码中设置完adapter后调用此方法
mFavoriteFileAdapter = new MyFavoriteFileAdapter(mContext, mFileList, mChkAll); mFileResult.setAdapter(mFavoriteFileAdapter); //设置高度 ListViewUtil.setListViewHeightBasedOnChildren(mFileResult);
上面两个方法意思都一样,都要建立在LinearLayout上。
实战图:
ListView 嵌套ListViewScrollView嵌套ListView
OK啦。有问题请留言
《Android版本更新、热更新》系列课程视频
版本更新6.0,7.0统统搞定!!
热修复不在麻烦,再也不用担心上线后出bug!!
http://edu.csdn.net/course/detail/6523
http://edu.csdn.net/course/play/6523/131198
《Kotlin语法基础到实战开发》系列课程视频
http://edu.csdn.net/course/detail/6409?locationNum=7&fps=1&ref=srch&loc=1
-
Listview嵌套Listview
2016-11-14 11:03:05Listview嵌套Listview转载同学的博客:http://blog.csdn.net/chen413203144/article/details/52760916目录Listview嵌套Listview目录 代码 今天起,模仿着大神们开始写博客,贵在坚持吧,大家一起努力!打算模仿淘宝...转载同学的博客:http://blog.csdn.net/chen413203144/article/details/52760916
今天起,模仿着大神们开始写博客,贵在坚持吧,大家一起努力!
打算模仿淘宝的订单管理,需要Listview嵌套Listview,都是两个控件都是沿着一个方向滑动的,嵌套在一起不幸福,以下是解决方案,打个笔记,以后估计还得用:
其中onMeasure函数决定了组件显示的高度与宽度;
makeMeasureSpec函数中第一个参数决定布局空间的大小,第二个参数是布局模式
MeasureSpec.AT_MOST的意思就是子控件需要多大的控件就扩展到多大的空间代码
/** * 自定义ListView(嵌套的那个子Listview) * Created by ChenSS on 2016/10/8. */ public class MyListView extends ListView { public MyListView(android.content.Context context, android.util.AttributeSet attrs) { super(context, attrs); } /** * 设置高度适应item高度 */ public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }
-
listView嵌套横向listView
2016-11-14 17:03:32listView嵌套横向listView,参考http://blog.csdn.net/whitley_gong/article/details/48936689 的代码的,只是希望日后自己方便,希望作者不要介意。谢谢 -
listview嵌套listview
2017-05-22 17:29:47问题:listview嵌套listview,会显示不全。解决办法: /** * 设置Listview的高度 */ public void setListViewHeight(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); -
android listview嵌套listview实现折叠列表
2016-08-02 18:08:04android listview嵌套listview实现折叠列表 -
ScoreView嵌套listview或者Listview嵌套ListviewUI冲突
2017-09-23 11:40:11今天又有同事遇到嵌套问题,在ScoreView嵌套listview时候,或者Listview嵌套Listview,item条目显示不全,往往只显示一条。 这是listview在填充是动态绘制item布局时候冲突造成的,我们在嵌套的时侯需要动态计算每... -
ListView嵌套GridView
2016-07-28 11:11:47android中ListView嵌套GridView布局的实现,很有用,也很实用,现在的app都会用到,希望能帮助到你! -
android的listview嵌套listview,列表嵌套列表 android studio版本
2016-03-19 21:07:24利用android studio实现listview嵌套listview,技术含量不是特别高,希望能帮助大家,这里就意思一下,给1分算啦 -
解决ListView嵌套ListView或者ScrollView嵌套ListView出现的问题
2016-08-18 22:36:35处理ListView嵌套或者被嵌套出现的问题 -
ListView嵌套控件.zip
2020-07-19 14:12:29设计了两种不同的ListView嵌套控件的方式,一种是ComboBox,另一种是菜单栏的形式,实际上并没有对控件进行嵌套,只是做了位置的显示,拟合出嵌套的效果,适用于各种控件。 -
android listView嵌套ListView
2017-08-22 08:55:46android listView嵌套ListView,子listView第一个显示全了,其他的没显示。  下面是我的代码。帮看看哪里有问题。。 这是第一个... -
listview嵌套listview问题
2017-01-18 17:36:01* 此方法是本次listview嵌套listview的核心方法:计算parentlistview item的高度。 * 如果不使用此方法,无论innerlistview有多少个item,则只会显示一个item。 **/ public void ... -
UWP LISTVIEW嵌套LISTVIEW
2018-11-09 15:27:55文章来自:源码在线... 代码: ... UWP LISTVIEW嵌套LISTVIEW 小程序下拉框的实现 css画三角形 微信动画(小程序) 界面上的节点信息的获取 响应显示区域变化wxs wxs注释 ... -
两个listview嵌套,效果就是父item点击下拉子listview
2017-07-20 16:22:27两个listview嵌套,效果就是父item点击下拉子listview,两个listview嵌套,效果就是父item点击下拉子listview -
ListView嵌套listView问题
2016-11-01 19:33:45ListView嵌套listView ,外层的listView是原生的,里面的是自定义的MyListView; 1.如果两层都是ListView,出现问题:里层的listView只会显示一条数据 2.如果外层MyListVIew,里层listVIew ,出现问题:导致只能... -
listview 嵌套HorizontalListView
2017-06-06 10:44:20listview 嵌套HorizontalListView 滑动流畅 -
Listview嵌套Listview的实现方法
2016-11-12 09:32:20Listview嵌套Listview的实现 -
flutter ListView嵌套ListView滚动问题
2019-08-30 11:32:29在flutter开发中ListView嵌套ListView时,俩个ListView都会滚动,而不是一个整体,只需要设置子组件不滚动,并设置高度就可以解决这个问题 Widget build(BuildContext context) { return ListView( children: <... -
解决listview 嵌套listview
2017-02-03 16:01:55这几个文件是我从某位大神的简书上得来的,但是一时找不到这位仁兄,如果看到,请联系我,我将注明转载地址。 前段时间公司要开发一个软件产品,项目经理和我们的设计狮发过来一份UI,看到这...首先listview 嵌套list -
ExpandableListView(实现ListView嵌套ListView的效果)
2012-06-01 16:17:37ExpandableListView (实现ListView嵌套ListView的效果)
-
关于Hive自学视频的对照数据(全).zip
-
都2021年了,你还不多学几种创建型模式,创建个对象?
-
SetunaConfig.xml
-
前端架构师-速成
-
thinkphp5.1博客后台实战视频
-
【2021】UI自动化测试框架(Selenium3)
-
2021-01-20
-
OSX MAMP 如何为 PHP 5.6 安装 MSSQL 扩展
-
100条经典C语言笔试题目.ppt
-
CentOS 8 安装配置JDK 15.0.1
-
FindHotPhrase.exe
-
SubstancePainter插件开发-基础入门
-
soul网关案例学习:http代理大致流程
-
23种JAVA设计模式
-
神州龙芯VERILOG编码规范.pdf
-
Optimization Week 5: Duality example
-
Vasile Cîrtoaje - Cyclic and noncyclic inequalities. Volume 3 (2015).pdf
-
微服务系列第七十一季-Spring入门
-
广工EDA跑马灯Verilog设计.rar
-
竟斗云2.0编程器固件OPBOOT_1.1.2.BIN