android一个页面上多个listview,在滚动的时候,需要两个listview能够一起滚动,看起来是一个view。

这个功能的具体实现,参考:  

http://blog.csdn.net/xia296/article/details/8128674

最主要的代码是:

	/**
* 设置listview高度,注意listview子项必须为LinearLayout才能调用该方法
* @param listview listview
*
*/
public static void setListViewHeight(ListView listview){
int totalHeight = 0;
ListAdapter adapter= listview.getAdapter();
if(null != adapter){
for (int i = 0; i <adapter.getCount(); i++) {
View listItem = adapter.getView(i, null, listview);
if (null != listItem) {
listItem.measure(0, 0);//注意listview子项必须为LinearLayout才能调用该方法
totalHeight += listItem.getMeasuredHeight();
}
} ViewGroup.LayoutParams params = listview.getLayoutParams();
params.height = totalHeight + (listview.getDividerHeight() * (listview.getCount() - 1));
listview.setLayoutParams(params);
}
}

具体在代码中的使用这个方法:

    public void loadAdvanceGameView(){
if (mAdvanceAdapter == null) {
mAdvanceAdapter = new GameDetailAdapter(mContext, mAdvanceGameList);
advanceListView.setAdapter(mAdvanceAdapter);
}else {
mAdvanceAdapter.notifyDataSetChanged();
}
setListViewHeight(advanceListView);
LoadMyLocalView();
} private void LoadMyLocalView() {
mLocalGameList.clear();
mLocalGameList.addAll(AppManager.get().getSelectedAppBeans());
removeRepeatApp();
if (mLocalAdapter == null) {
mLocalAdapter = new AppBeanAdapter(mContext, mLocalGameList);
localListView.setAdapter(mLocalAdapter);
}else {
mLocalAdapter.notifyDataSetChanged();
}
setListViewHeight(localListView);
}

  

我在使用的时候,其中listview里面的item的view是用RelativeLayout创建的。

但是后面测试的时候,在部分机器上报错。

具体的解决方法参考:

分析java.lang.NullPointerException thrown in RelativeLayout measure()

假如开始就是用LinearLayout,就不会报错。

android一个页面上多个listview的更多相关文章

  1. Android 一个页面上下两个ListView的页面显示

    Android 一个页面上下两个ListView,当上面的ListView过长时,下面的List基本没有了滑动空间,查阅网上资料,解决办法基本是采用ScrollView做页面滑动,notifyData ...

  2. android 一个页面内 多个listview的实现

    如果很平常的两个listview组件竖直放在linearLayout布局中,结果是: 两个listview 很独立,中间似乎有个分割线,完全吧他们分离了,各自独立滚动,如果上面的listview把整个 ...

  3. Android实现页面跳转、ListView及其事件

    Android实现页面跳转.ListView及其事件 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 进入主页面后,使用ListView实现特 ...

  4. android进入页面会定位到ListView问题解决方法

    在我们的页面中如果存在有ListView,当我们进入这个activity时,页面会定位到ListView的位置去,而不是activity的头部,这是由于ListView会去默认获取焦点所造成的. 解决 ...

  5. 【真的是随笔】如何利用htaccess把网站流量引到一个页面上(站点维护页效果)

    咕咕咕,好久没来博客园转悠了,最近(这个最近好长啊)一直没时间写博(事实上也不知道写点什么有逼格的东西),所以一直都在潜水,,,(此处省略n字) 好了切入正题,关于如何把网站的所有流量引向一个页面的方 ...

  6. Android 进入页面默认定位到ListView的解决方法

    由于ListView会默认去获取焦点,如果说ListView在页面的下方的话,那么点击条目进入新页面并退出,那么这时候就会定位到ListView这里,而不是展示头部.   解决这个问题,只需要在Lis ...

  7. android 通过页面上关键字快速定位代码

    这里定位微信关于页面, 当然可以直接获取当前最顶层activity 反编译apk后 搜索 strings.xml,找到对应id 搜索文件到用到id对应的成员变量,通常 是在R*.smali文件中 字符 ...

  8. 使用BeautifulSoup 爬取一个页面上的所有的超链接

    # !/usr/bin/python # -*-coding:utf-8-*- import urllib from bs4 import BeautifulSoup response = urlli ...

  9. 一个页面上调用多个setInterval失效解决办法(使用于同一时间间隔)

    将方法封装在一起,只调用一个setInterval window.setInterval( function () { $.ajax({ type: "GET", url: '/M ...

随机推荐

  1. sql server中的系统数据库

    1.master数据库 master是SQL Server中最重要的数据库,是整个数据库服务器的核心.用户不能直接修改该数据库,如果损坏了master数据库,整个SQL Server服务器将不能工作. ...

  2. windows上的tomcat配置

    下载及安装 首先要安装JDK:jdk-7windows-x64.zip 再安装tomcat:apache-tomcat-7.0.23-windows-x64.zip   配置环境变量: CATALIN ...

  3. Laravel OAuth2 (三) ---使用 services 和 facades

    前言 既然要判断用户是否存在,然后创建用户,那么就要实现几个功能函数.为了方便调用,于是我尝试着写了第一个service 和 facade . 创建 Facade class Social exten ...

  4. linux系统调用和库函数调用的区别(转)

    Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions).可以参考<Linux程序设计>(英文原版为<Beginning ...

  5. javascript 关闭页面提示

    window.onbeforeunload = function (e) { e = e || window.event; // For IE and Firefox prior to version ...

  6. sorl6.0+jetty+mysql

    sorl6.0+jetty+mysql搭建solr服务 1.下载solr 官网:http://lucene.apache.org/solr/ v2.目录结构如下 v3.启动solr(默认使用jetty ...

  7. VJGUI消息设计-兼谈MFC、QT和信号/槽机制

    星期六下午4点,还在公司加班.终于写完了下周要交工的一个程序. 郁闷,今天这几个小时写了有上千行代码吧?虽然大部分都是Ctrl-C+Ctrl-V,但还是郁闷. 作为一个有10年经验的MFC程序员,郁闷 ...

  8. 实用推荐:12款Linux系统恢复工具

    12款Linux系统恢复工具 电脑死机,系统崩溃,总会给电脑使用者带来一定的损失.你是否不小心删除你的纪念图片?安装新系统时候,擦除了分区表?无法读取旧CD里面的数据?别急嘛-我们将会给您推荐一些免费 ...

  9. BZOJ 1632: [Usaco2007 Feb]Lilypad Pond

    题目 1632: [Usaco2007 Feb]Lilypad Pond Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 390  Solved: 109[ ...

  10. ARM

    ARM全新架构:cortex架构 cortex-A:高端:cortex-R:实时嵌入式系统:cortex-m:廉价: 哈佛结构:数据总线和地址总线分开: 冯若依曼:地址总线,数据总线不分开: cort ...