ScrollView下的ListView问题解决

问题描述:在一个复合布局当中,有TextView、ListView、Button等,除了button之外,其余高度不定,是动态变化的,很容易超过一个屏幕的高度,这个时候我们需要给总布局添加一个ScrollView,但因为ListView集成与ScrollView,所以会导致listview的Scroll效果失效;

解决方法:找了很多方法,大体思路是动态设计ListView的Item高度,经过不断找文章,试demo,终于发现网友一个解决方法,现在分享给大家~

解决思路:重写ListView,改写onMeasure方法

package com.jby.exam;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;

public class VoteList extends ListView {

	public VoteList(Context context) {
		super(context);
	}

	public VoteList(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
	}

	public VoteList(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

	@Override
	protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
	}
}

注意:XML布局文件引用自己的控件,需要写好包名,如:

<com.jby.exam.VoteList
      android:id="@+id/vote_listview"
      android:layout_height="wrap_content"
      style="@style/vote_listview" >
</com.jby.exam.VoteList>

时间: 2024-07-29 17:35:58

ScrollView下的ListView问题解决的相关文章

Android ScrollView 下嵌套 ListView 或 GridView出现问题解决办法

Android ScrollView 下嵌套 ListView 或 GridView出现问题解决办法 ScrollView 下嵌套 ListView 或 GridView 会发列表现数据只能显示一行.因为他们都是滚动结构,两个滚动条放到一起就会引起冲突. 解决此问题可以通过计算 ListView 高度或重写 ListView 的 onMeasure 方法来解决.下面介绍通过重写 onMeasure 方法来解决问题. 重写 onMeasure 方法如下: public class ScrollLi

Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公

最新内容建议直接访问原文: Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类) 总结的一些android公共库,包含缓存(图片缓存.预取缓存).公共View(下拉及底部加载更多ListView.底部加载更多ScrollView.滑动一页Gallery).及工具类(下载管理.静默安装.shell工具类等等). 具体使用可见总结的一些android公共库.Demo APK地址见TrineaAndroidDemo,主要包括: 一. 缓存类 主要特

contextmenu-android scrollview下的textview如何实现手势缩放并且可以长按出现上下文菜单

问题描述 android scrollview下的textview如何实现手势缩放并且可以长按出现上下文菜单 自己先自定义了一个scrollview,然后在xml相关的activity中写了一个ontouchevent,最后出现的结果是手势缩放与长按出现上下文菜单总不能同时实现! 代码如下: 自定义scrollview: @Override public boolean onInterceptTouchEvent( MotionEvent event) { return super.onInte

listview-ListView与DataTable绑定,选中一行的情况下,ListView不更新数据。

问题描述 ListView与DataTable绑定,选中一行的情况下,ListView不更新数据. 接触WPF不久,遇到一个看似简单,却无从下手的小问题.如图1所示,左边是个ListView,与DataTable绑定,根据右边的几个选项条件,列表显示不同的内容.在没有选择列表中的任何一行时,选择不同的条件(如报警等级),列表显示一切正常. 问题来了,如图1所示.假设,我选择了一个列表项(报警等级:高级),再选择条件"中级",列表竟然不更新内容,只是取消了选中的列表项(如图2),然后,必

textview-Android下,ListView下面的TextView包含超链接点击报错,求高人解决下,谢谢

问题描述 Android下,ListView下面的TextView包含超链接点击报错,求高人解决下,谢谢 Listview 下面的TextView包含了超链接,点击之后报错, 源码是: TextView tv_1=(TextView) view.findViewById(R.id.txt_ask); tv_1.setText(Html.fromHtml(str[position])); tv_1.setMovementMethod(LinkMovementMethod.getInstance()

android scrollview下拉刷新同时headveiw可缩放

问题描述 android scrollview下拉刷新同时headveiw可缩放 android scrollview下拉刷新同时headveiw可缩放,headview不是imageview 解决方案 ontouch事件中,根据滑动的距离,去动态缩放指定对象

Android开发之ScrollView中嵌套ListView的解决方案

在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全.我试过很多种方法,它们各有利弊. 在这里我将会从使用ScrollView嵌套ListView结构的原因.这个结构碰到的问题.几种解决方案和优缺点比较,这4个方面来为大家阐述.分析.总结. 实际上不光是ListView,其他继承自AbsListView的类也适用,包括ExpandableListView.GridView等等,为了方便说明,以下均用ListView来代表. 一. 为什么要使用S

webwork2在weblogic下的中文问题解决

web|解决|问题|中文 研究了几天webwork2我的习惯首先关注中文问题解决 我喜欢weblogic因为连地址栏写中文都没问题 中文这方面webwork2比struts更好解决  不用设置fitler过滤了不错  jsp里都设置gb2312就可以第一 <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage

Jquery $.getJSON 在IE下的缓存问题解决方法_jquery

在工作中主页实现Ztree Ztree的数据是后台返回的JSON对象 因为树是固定的所以每次刷新树 $.getJSON 的url都是相同的 问题来了 我修改 或者 新增树节点 然后刷新tree IE竟然毫无变化 在其他浏览器上面都OK 这让我纠结了 然后在网上搜索了一下资料发现 解决办法 解决办法: Jquery 的 $.getJSON请求有一个缓存机制 就是在请求相同URL访问后台时候 他会直接从页面缓存的数据中取出来数据 而不是请求后台 所以我们要改变一个URL 这是我们的URL var u