android中ScrollView如何嵌入ListView

原创 2016年08月29日 10:50:24

通常情况下我们不会在 ScrollView 中嵌套 ListView,但是如果面试官非让我嵌套的话也是可以的。在 ScrollView 添加一个 ListView 会导致 listview 控件显示不全,通常只会显示一条,这是因为两个控件的滚动事件冲突导致。所以需要通过 listview 中的 item 数量去计算 listview 的显示高度,从而使其完整展示,如下提供一个方法供大家参考。


lv = (ListView) findViewById(R.id.lv);
adapter = new MyAdapter();
lv.setAdapter(adapter);
setListViewHeightBasedOnChildren(lv);
----------------------------------------------------
public 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));
params.height += 5;// if without this statement,the listview will be a
// little short
listView.setLayoutParams(params);
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android实战技巧:如何在ScrollView中嵌套ListView

http://blog.csdn.net/hitlion2008/article/details/6737459 前几天因为项目的需要,要在一个ListView中放入另一个ListView,也即...

android scrollview嵌套listview

  • 2015-04-28 23:38
  • 2.01MB
  • 下载

Android截屏截图方法汇总(Activity、View、ScrollView、ListView、RecycleView、WebView截屏截图)

Android截屏   Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后进行分享或者其它用途 一、Activity截屏 1、截Activity界面(...

Android之ScrollView嵌套ListView冲突

本帖最后由 小尛龙 于 2013-11-19 21:04 编辑 效果图:   在ScrollView中嵌套使用ListView,ListView只会显示一行多一点。两者进行嵌套,即会发生冲突...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)