精华内容
参与话题
问答
  • ListView嵌套

    2017-11-19 14:53:34
    11月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:09
    listView嵌套listView
  • ListView嵌套ListView

    热门讨论 2015-09-08 14:57:32
    ListView嵌套ListView的demo
  • listView嵌套listView.zip

    2020-05-21 17:30:17
    android开发实现二级列表显示,点击显示隐藏,使用ListView嵌套自定义布局。
  • 下面小编就为大家分享一篇ScrollView嵌套ListView及ListView嵌套的高度计算方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 1.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中我遇到的问题 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这个方法,相对布局没有!
    自定义ListView

    public 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 嵌套ListView
    这里写图片描述

    ScrollView嵌套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

    http://edu.csdn.net/course/play/6409/123752

    展开全文
  • Listview嵌套Listview

    2016-11-14 11:03:05
    Listview嵌套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:32
    listView嵌套横向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实现折叠列表
  • 今天又有同事遇到嵌套问题,在ScoreView嵌套listview时候,或者Listview嵌套Listview,item条目显示不全,往往只显示一条。 这是listview在填充是动态绘制item布局时候冲突造成的,我们在嵌套的时侯需要动态计算每...
  • ListView嵌套GridView

    2016-07-28 11:11:47
    android中ListView嵌套GridView布局的实现,很有用,也很实用,现在的app都会用到,希望能帮助到你!
  • 利用android studio实现listview嵌套listview,技术含量不是特别高,希望能帮助大家,这里就意思一下,给1分算啦
  • 处理ListView嵌套或者被嵌套出现的问题
  • ListView嵌套控件.zip

    2020-07-19 14:12:29
    设计了两种不同的ListView嵌套控件的方式,一种是ComboBox,另一种是菜单栏的形式,实际上并没有对控件进行嵌套,只是做了位置的显示,拟合出嵌套的效果,适用于各种控件。
  • android listView嵌套ListView,子listView第一个显示全了,其他的没显示。 ![图片说明](https://img-ask.csdn.net/upload/201708/22/1503391737_599360.jpg) 下面是我的代码。帮看看哪里有问题。。 这是第一个...
  • 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,两个listview嵌套,效果就是父item点击下拉子listview
  • ListView嵌套listView问题

    2016-11-01 19:33:45
    ListView嵌套listView ,外层的listView是原生的,里面的是自定义的MyListView; 1.如果两层都是ListView,出现问题:里层的listView只会显示一条数据 2.如果外层MyListVIew,里层listVIew ,出现问题:导致只能...
  • listview 嵌套HorizontalListView 滑动流畅
  • Listview嵌套Listview的实现方法

    千次阅读 2016-11-12 09:32:20
    Listview嵌套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的效果)

空空如也

1 2 3 4 5 ... 20
收藏数 5,326
精华内容 2,130
关键字:

listview嵌套