android一个页面上多个listview
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的更多相关文章
- Android 一个页面上下两个ListView的页面显示
Android 一个页面上下两个ListView,当上面的ListView过长时,下面的List基本没有了滑动空间,查阅网上资料,解决办法基本是采用ScrollView做页面滑动,notifyData ...
- android 一个页面内 多个listview的实现
如果很平常的两个listview组件竖直放在linearLayout布局中,结果是: 两个listview 很独立,中间似乎有个分割线,完全吧他们分离了,各自独立滚动,如果上面的listview把整个 ...
- Android实现页面跳转、ListView及其事件
Android实现页面跳转.ListView及其事件 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 进入主页面后,使用ListView实现特 ...
- android进入页面会定位到ListView问题解决方法
在我们的页面中如果存在有ListView,当我们进入这个activity时,页面会定位到ListView的位置去,而不是activity的头部,这是由于ListView会去默认获取焦点所造成的. 解决 ...
- 【真的是随笔】如何利用htaccess把网站流量引到一个页面上(站点维护页效果)
咕咕咕,好久没来博客园转悠了,最近(这个最近好长啊)一直没时间写博(事实上也不知道写点什么有逼格的东西),所以一直都在潜水,,,(此处省略n字) 好了切入正题,关于如何把网站的所有流量引向一个页面的方 ...
- Android 进入页面默认定位到ListView的解决方法
由于ListView会默认去获取焦点,如果说ListView在页面的下方的话,那么点击条目进入新页面并退出,那么这时候就会定位到ListView这里,而不是展示头部. 解决这个问题,只需要在Lis ...
- android 通过页面上关键字快速定位代码
这里定位微信关于页面, 当然可以直接获取当前最顶层activity 反编译apk后 搜索 strings.xml,找到对应id 搜索文件到用到id对应的成员变量,通常 是在R*.smali文件中 字符 ...
- 使用BeautifulSoup 爬取一个页面上的所有的超链接
# !/usr/bin/python # -*-coding:utf-8-*- import urllib from bs4 import BeautifulSoup response = urlli ...
- 一个页面上调用多个setInterval失效解决办法(使用于同一时间间隔)
将方法封装在一起,只调用一个setInterval window.setInterval( function () { $.ajax({ type: "GET", url: '/M ...
随机推荐
- .Net将多个DLL打包为一个DLL(ILMerge)
在做.Net底层编码过程中,为了功能独立,有可能会生成多个DLL,引用时非常不便.这方面微软提供了一个ILMerge工具原版DOS工具,可以将多个DLL合并成一个.下载完成后需要安装一下,然后通过DO ...
- Properties的使用
Properties的各种相对路径,绝对路径的用法 所在包: package com.test.javaAPI.collections; import java.io.File; import jav ...
- JavaScript基础知识----基本语法
JavaScript 语句 JavaScript 语句向浏览器发出的命令.语句的作用是告诉浏览器该做什么. 分号 ; 分号用于分隔 JavaScript 语句. 通常我们在每条可执行的语句结尾添加分号 ...
- python第二步,类对象部分
类创建: class 类名: '类说明' def __init__ (self,参数):#类似php类的构造函数,self不知道什么东东 方法体 实例创建: 变量名 = 类名() #构造函数后的参数, ...
- (IOS)签名Demo
思路是将每一次按下屏幕的touch move时的点存到一个数组里,即一个数组相当于一个笔画:再将该代表笔画的数组保存到一个大数组中,每组每次touch的移动都历遍大数组和笔画数组,将点于点之间连接起来 ...
- 引用 IP电话的原理结构及其关键技术
引用 茫然 的 两种将字符串转换成浮点数的方法 方法一: char szString[] = "-2876.99812376443"; double db1; db1 = atof ...
- 我在北京找工作(二):java实现算法<1> 冒泡排序+直接选择排序
工作.工作.找工作.经过1个多星期的思想斗争还是决定了找JAVA方面的工作,因为好像能比PHP的工资高点.呵呵 :-) (其实我这是笑脸,什么QQ输入法,模拟表情都没有,忒不人性化了.) 言归正传, ...
- Poj 2499 Binary Tree(贪心)
题目链接:http://poj.org/problem?id=2499 思路分析:结点向左边移动时结点(a, b)变为( a+b, b),向右边移动时( a, b )变为( a, a + b); 为求 ...
- cocos2dx的runAction: 反复运行,多个动作连接运行,多个动作同一时候运行的实现
cocos2dx的 runAction,假设某个动作重复运行用cc.RepeatForever:create, 多个动作连接运行用cc.Sequence:create,多个动作同一时候运行用cc.Sp ...
- 【linux】 linux gpio操作
欢迎转载,转载时需保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http:// ...