Scrollview嵌套listview时显示不全

Posted 轩辕223

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrollview嵌套listview时显示不全相关的知识,希望对你有一定的参考价值。


大概需求是这样的,listview下有一个按钮,会显示不全,我准备在外面嵌套一层scrollview,这样可以做到可以滑动,于是我加了这样一段代码
  <ScrollView         android:id= "@+id/scroll_view"         android:layout_width= "match_parent"         android:layout_height= ""         android:layout_marginTop= "10dp"         android:fillViewport= "true" >
        <LinearLayout             android:layout_width= "match_parent"             android:layout_height= "wrap_content"             android:orientation= "vertical" >
          ...

        </LinearLayout >   </ScrollView>
加完之后我发现listview无法正常显示,只能显示一条Item,其实想想很明显,scrollview的高度是根据子view的高度设定的,listview的高度在初始化的时候, 并不是全部的高度,要在加了adapter之后才有全部的高度。
    /**       *       * setListViewHeightBasedOnChildren:这个方法可以根据adapter重设 listview的高度,       * 解决 scrollview嵌套listview时,listview无法全部显示的异常       *       * @param @param listView 设定文件       * @return void DOM对象       * @throws       * @since CodingExample Ver 1.1       */       public static void setListViewHeightBasedOnChildren(ListView listView)                  ListAdapter listAdapter = listView.getAdapter();             if (listAdapter == null )                              // pre-condition                  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);      

这个方法可以根据adapter里面item的数目重新设置listview的高度

以上是关于Scrollview嵌套listview时显示不全的主要内容,如果未能解决你的问题,请参考以下文章

解决ScrollView下嵌套ListView/GridView进页面不在顶部的问题以及数据显示不全的问题( 只显示一行)

为啥listview在scrollview中显示不全

ScrollView嵌套listView,显示头像错乱

浅谈ScrollView嵌套ListView及ListView嵌套的高度计算

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

android scrollview嵌套listview 页面有多余空白