ListView动态控制条数,总是显示不全,现在在网上找到解决方案,与大家分享
大概思路,重写ListView类的onMeasure(...)方法,xml布局使用自定义的HstListView类,代码如下:
package com.hst.taxmobile.common; import android.content.Context; import android.util.AttributeSet; import android.widget.ListView; public class HstListView extends ListView { public HstListView(Context context) { // TODO Auto-generated method stub super(context); } public HstListView(Context context, AttributeSet attrs) { // TODO Auto-generated method stub super(context, attrs); } public HstListView(Context context, AttributeSet attrs, int defStyle) { // TODO Auto-generated method stub super(context, attrs, defStyle); } @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); } }
页面设置:
<com.hst.taxmobile.common.HstListView android:id="@+id/pmxx_listview" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="#eeeeee" android:dividerHeight="10dp" android:background="@drawable/shapes_rect_round" />
上面这种是通用的,有些可以使用以下方法计算出当前ListView的长度:
/* * 根据listView的child数量设置listView的高度 */ public static 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); }
相关推荐
listview控件可有4种不同的视图显示方法 (1).docx
利用ListView控件实现图标的管理,c#实现
用ListView来显示数据库数据,通常需要进行设置,so,封装了针对数据库显示数据的控件。
这里面展示了在一个ListView中显示三种布局,展示三个集合的数据。
android listview中显示多视图的demo,重写getItemViewType(int position)和getViewTypeCount()方法。 详细见http://blog.csdn.net/clarketang/article/details/6873393
ListView中显示不同的视图布局实现并且实现重用的完整Demo
在listview中显示不同的视图布局,如,TextView CheckBox的合并
点击不同路径在ListView控件中将显示具体文件夹下的所有文件详细信息.包括文件名、大小、类型 当用户点击文件鼠标右键时,会在相应文件下弹出菜单栏ContentMenuStrip控件,显示“打开文件”和“删除文件”.点击打开...
android 布局中网格视图 ListView的简单运用 采用的是最简单的ArrayAdapter适配器
简单的图标式C# ListView实例,使用一些小图片来修饰列表视图,这些修饰性的小图片在Image文件夹中。鼠标点选ListView中的任一项,即可显示选中值。本例演示了ListView的美化和显示、取值的过程,特别适合C#初学者...
VB6.0自定义ListView的显示方式,摆脱微软控件之ListView自定义视图的例子,有多种的显示方式,可满足不同需求的需要。本示例将ListView显示的内容以“段”的方式显示,可以在每个列表项中添加图标,它的视图允许...
Android中利用ListView和GridView实现列表视图和网格(图标)视图的相互切换显示
列表视图几乎是所有开发平台都非常喜欢的组件,无论是作为标准的Win32组件,还是标准的Java基础类组件,列表视图的功能都是高深莫测的。使用列表视图显示信息
带箭头排序的ListView示例,排序时按照各列设置的数据类型进行
Android Listview中显示不同的视图布局 1. 使用场景 在重写ListView的BaseAdapter时,我们常常在getView()方法中复用convertView,以提高性能。convertView在Item为单一的同种类型布局时,能够回收并重用,但是多个...
VB6.0演示Treeview和ListView相结合的例子,在ListView中使用Treeview菜单,将ListView修饰了一下,好像看上去不太像ListView了,但在其中增加了树控视图,实际项目编写中,这种类似的功能还是使用率很高的。
通讯录列表ListView视图效果源码,源码ListView_ StickyListHeader,该源码可以支持我们熟悉的通讯录ListView的效果,也叫StickListHeaders_sample的案例源码,可以支持按照字母的排列显示的,希望能够帮到大家的...
很有用的ListView控件使用,里面包括五种视图代码,以及分组显示,配图标,等等,是用VS2008写的代码。下载直接可以使用
C#中的ListView控件实例文档 ListView可以通过四种不同的方式显示条目。 1.只能给ListView控件添加基于ListViewItem类的对象;...3.SubItems()方法:包含详细视图中显示的文本; 4.View属性:设置以下四种显示方式