android – 如何在ScrollView中完全实现ListView

android – 如何在ScrollView中完全实现ListView,第1张

概述在这里,我在ScrollView中使用了一个listView,一切正常,但是当我设置它的heightfill_parent时,listView没有完全显示.所以我修改了它的高度,当我改变 Android手机设备时看起来并不好看.任何人都可以帮助我吗?  我也在发布我的xml类. Demo.xml <?xml version="1.0" encoding="utf-8"?><ScrollView 在这里,我在ScrollVIEw中使用了一个ListVIEw,一切正常,但是当我设置它的heightfill_parent时,ListVIEw没有完全显示.所以我修改了它的高度,当我改变 Android手机设备时看起来并不好看.任何人都可以帮助我吗?
 我也在发布我的xml类.

Demo.xml

<?xml version="1.0" enCoding="utf-8"?><ScrollVIEw xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:layout_wIDth="fill_parent"androID:layout_height="fill_parent"><linearLayout androID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:orIEntation="vertical" ><linearLayout        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:layout_marginleft="10dp"        androID:layout_marginRight="10dp"        androID:layout_margintop="25dp"        androID:gravity="center"        androID:orIEntation="vertical" >        <TextVIEw            androID:layout_wIDth="match_parent"            androID:layout_height="wrap_content"            androID:layout_gravity="center"            androID:paddingleft="6dp"            androID:text="@string/course_tracker"            androID:textStyle="bold" />    </linearLayout>    <linearLayout        androID:ID="@+ID/ll_finishapp_table"        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:layout_marginleft="10dp"        androID:layout_marginRight="10dp"        androID:layout_margintop="10dp"        androID:orIEntation="vertical" >        <VIEw            androID:layout_wIDth="match_parent"            androID:layout_height="2dp"            androID:background="#E3E3E3" />        <linearLayout            androID:layout_wIDth="match_parent"            androID:layout_height="wrap_content"            androID:background="#ffffff"            androID:orIEntation="horizontal"            androID:weightSum="20" >            <TextVIEw                androID:layout_wIDth="2dp"                androID:layout_height="match_parent"                androID:background="#E3E3E3"                androID:text="" />            <linearLayout                androID:layout_wIDth="0dip"                androID:layout_height="match_parent"                androID:layout_weight="5"                androID:orIEntation="vertical" >                <TextVIEw                    androID:layout_wIDth="match_parent"                    androID:layout_height="match_parent"                    androID:gravity="center_horizontal|center_vertical"                    androID:text="@string/program_name" />            </linearLayout>            <TextVIEw                androID:layout_wIDth="2dp"                androID:layout_height="match_parent"                androID:background="#E3E3E3"                androID:text="" />            <linearLayout                androID:layout_wIDth="0dip"                androID:layout_height="match_parent"                androID:layout_weight="2"                androID:gravity="center"                androID:orIEntation="vertical"                androID:background="#e9e9e9" >                <TextVIEw                    androID:layout_wIDth="wrap_content"                    androID:layout_height="wrap_content"                    androID:layout_gravity="center"                    androID:text="@string/colon"                    androID:textStyle="bold" />            </linearLayout>            <TextVIEw                androID:layout_wIDth="2dp"                androID:layout_height="match_parent"                androID:background="#E3E3E3"                androID:text="" />            <linearLayout                androID:layout_wIDth="0dip"                androID:layout_height="match_parent"                androID:layout_weight="13"                androID:gravity="center_vertical"                androID:orIEntation="vertical" >                <TextVIEw                    androID:ID="@ID/tv_program_name"                    androID:layout_wIDth="wrap_content"                    androID:layout_height="wrap_content"                    androID:paddingleft="10dp"                    androID:textStyle="bold" />            </linearLayout>            <TextVIEw                androID:layout_wIDth="2dp"                androID:layout_height="match_parent"                androID:background="#E3E3E3"                androID:text="" />        </linearLayout>        <VIEw            androID:layout_wIDth="match_parent"            androID:layout_height="2dp"            androID:background="#E3E3E3" />        <linearLayout            androID:layout_wIDth="match_parent"            androID:layout_height="wrap_content"            androID:background="#F9F9F9"            androID:orIEntation="horizontal"            androID:weightSum="20" >            <TextVIEw                androID:layout_wIDth="2dp"                androID:layout_height="match_parent"                androID:background="#E3E3E3"                androID:text="" />            <linearLayout                androID:layout_wIDth="0dip"                androID:layout_height="match_parent"                androID:layout_weight="5"                androID:orIEntation="vertical" >                <TextVIEw                    androID:layout_wIDth="match_parent"                    androID:layout_height="match_parent"                    androID:gravity="center_horizontal|center_vertical"                    androID:text="@string/program_description" />            </linearLayout>            <TextVIEw                androID:layout_wIDth="2dp"                androID:layout_height="match_parent"                androID:background="#E3E3E3"                androID:text="" />            <linearLayout                androID:layout_wIDth="0dip"                androID:layout_height="match_parent"                androID:layout_weight="2"                androID:gravity="center"                androID:orIEntation="vertical"                androID:background="#e9e9e9" >                <TextVIEw                    androID:layout_wIDth="wrap_content"                    androID:layout_height="wrap_content"                    androID:layout_gravity="center"                    androID:text="@string/colon"                    androID:textStyle="bold" />            </linearLayout>            <TextVIEw                androID:layout_wIDth="2dp"                androID:layout_height="match_parent"                androID:background="#E3E3E3"                androID:text="" />            <linearLayout                androID:layout_wIDth="0dip"                androID:layout_height="match_parent"                androID:layout_weight="13"                androID:gravity="center_vertical"                androID:orIEntation="vertical" >                <TextVIEw                    androID:ID="@ID/tv_program_description"                    androID:layout_wIDth="wrap_content"                    androID:layout_height="wrap_content"                    androID:paddingleft="10dp"                    androID:textStyle="bold" />            </linearLayout>            <TextVIEw                androID:layout_wIDth="2dp"                androID:layout_height="match_parent"                androID:background="#E3E3E3"                androID:text="" />        </linearLayout>        <VIEw            androID:layout_wIDth="match_parent"            androID:layout_height="2dp"            androID:background="#E3E3E3" />    </linearLayout>    <linearLayout        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:layout_marginleft="10dp"        androID:layout_marginRight="10dp"        androID:layout_margintop="20dp"        androID:orIEntation="vertical" >        <VIEw            androID:layout_wIDth="match_parent"            androID:layout_height="2dp"            androID:background="#E3E3E3" />        <linearLayout            androID:layout_wIDth="match_parent"            androID:layout_height="30dp"            androID:background="#ffffff"            androID:orIEntation="horizontal"            androID:weightSum="20" >            <TextVIEw                androID:layout_wIDth="2dp"                androID:layout_height="match_parent"                androID:background="#E3E3E3"                androID:text="" />            <linearLayout                androID:layout_wIDth="0dip"                androID:layout_height="match_parent"                androID:layout_weight="10"                androID:orIEntation="vertical" >                <TextVIEw                    androID:layout_wIDth="match_parent"                    androID:layout_height="match_parent"                    androID:gravity="center_horizontal|center_vertical"                    androID:text="@string/course_name" />            </linearLayout>            <TextVIEw                androID:layout_wIDth="2dp"                androID:layout_height="match_parent"                androID:background="#E3E3E3"                androID:text="" />            <linearLayout                androID:layout_wIDth="0dip"                androID:layout_height="match_parent"                androID:layout_weight="10"                androID:orIEntation="vertical" >                <TextVIEw                    androID:layout_wIDth="match_parent"                    androID:layout_height="match_parent"                    androID:gravity="center_horizontal|center_vertical"                    androID:text="@string/semester" />            </linearLayout>            <TextVIEw                androID:layout_wIDth="2dp"                androID:layout_height="match_parent"                androID:background="#E3E3E3"                androID:text="" />        </linearLayout>        <VIEw            androID:layout_wIDth="match_parent"            androID:layout_height="2dp"            androID:background="#E3E3E3" />        <ListVIEw            androID:ID="@ID/List_course"            androID:layout_wIDth="match_parent"            androID:layout_height="350dp"            androID:layout_marginBottom="10dp" >        </ListVIEw>    </linearLayout> </linearLayout></ScrollVIEw>

谢谢.

解决方法 根据列表计数动态设置ListVIEw的高度,如:

private 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);        if (ListItem != null) {            ListItem.measure(                    MeasureSpec.makeMeasureSpec(0,MeasureSpec.UnspecIFIED),MeasureSpec.makeMeasureSpec(0,MeasureSpec.UnspecIFIED));        }        totalHeight += ListItem.getMeasuredHeight();    }    VIEwGroup.LayoutParams params = ListVIEw.getLayoutParams();    params.height = totalHeight            + (ListVIEw.getdivIDerHeight() * (listadapter.getCount() - 1));    ListVIEw.setLayoutParams(params);    ListVIEw.requestLayout();}

将适配器设置为ListVIEw后调用上面的方法,如:

urListVIEw.setAdapter(urAdapter);setListVIEwHeightBasedOnChildren(urListVIEw);
总结

以上是内存溢出为你收集整理的android – 如何在ScrollView中完全实现ListView全部内容,希望文章能够帮你解决android – 如何在ScrollView中完全实现ListView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1125416.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存