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的解决方案

在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全。我试过很多种方法,它们各有利弊。 在这里我将会从使用ScrollView嵌套ListVi...
  • MiniMicall
  • MiniMicall
  • 2014年11月10日 17:10
  • 17761

ListView 嵌套在 ScrollView中、Lv加载完数据之后Sv会滚动到Lv的最后一个item

第一次进入界面  请求数据成功的时候 ,  ListView 自动 滚动到底部了。 因为ScrollView默认会展示布局内最后一个有焦点的控件 怎么样 才可以 让ListView  加载完成之后...
  • qq_27853161
  • qq_27853161
  • 2016年11月12日 22:35
  • 354

onMeasure简单方法 完美解决ListView与ScollView冲突问题!

近期做项目碰到ScrollView与Listview冲突的情况,查看了网上一些解决listview和scollView的冲突的方法,最终选择了重写onMeasure的方法来解决这个问题。 在此对各种方...
  • Double2hao
  • Double2hao
  • 2016年05月22日 20:21
  • 6708

Android ScrollView和ListView事件冲突问题解决方法

不知道有没有朋友遇到这种问题:就是当你一个ScrollView里面包含一个ListView的时候,你会发现一个问题:当listview里面的item条目过多的时候,在Listview中只会显示一部分,...
  • qq_26888925
  • qq_26888925
  • 2016年07月27日 12:02
  • 425

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

四种方案解决ScrollView嵌套ListView问题
  • u010375364
  • u010375364
  • 2016年07月14日 17:32
  • 32006

常用控件:03_004 ScrollView嵌套ListView实现和其替代方法

#1 需求     在项目中我们会遇到这样的需求:多种类型的数据集(各个类型的数据集的长度不确定)放到一个可滚动的View中展示 #2 效果图 #3 方法一:ScrollView...
  • baopengjian
  • baopengjian
  • 2016年01月12日 16:28
  • 854

android 解决ScrollView嵌套ListView的问题,不能全屏,全屏不能显示下面控件

在开发中遇到ScrollView嵌套ListView的问题,最开始发出不能全屏,效果是这样的; 但我想要的效果是这样的: 下面看一下布局文件: ...
  • q610098308
  • q610098308
  • 2015年12月18日 09:38
  • 2504

Android ListView自适应高度和ScrollView冲突解决 [有效]

在ScrollView中嵌套使用ListView,ListView只会显示一行到两行的数据。起初我以为是样式的问题,一直在对XML文件的样式进行尝试性设置,但始终得不到想要的效果。后来在网上查了查,S...
  • Buaaroid
  • Buaaroid
  • 2016年06月12日 13:07
  • 1571

完美解决Android中,ScrollView嵌套ListView的冲突。

完美解决Android中,ScrollView和ListView的各种冲突
  • wodelinglong
  • wodelinglong
  • 2013年10月25日 16:15
  • 5900

ScrollView+Fragment+ListView嵌套ListView,麻麻再也不用担心我不会写嵌套

之前写了一篇文章 android ListView/GridView与ScrollView嵌套的滑动冲突解决 介绍了如何解决ScrollView与AdapterView的嵌套,但是没有给出dem...
  • yaosongqwe
  • yaosongqwe
  • 2015年08月27日 17:28
  • 2710
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android中ScrollView如何嵌入ListView
举报原因:
原因补充:

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