Android中自定义ListView,解决scrollview嵌套listview 滑动事件冲突

1.定义MyListView继承自ListView

<span style="font-size:18px;">/**
 *自定义listview.
 */
public class MyListView extends ListView{
    public MyListView(Context context) {
        super(context);
    }

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

    public MyListView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    /***
     *
     * 此方法用于重新测量尺寸
     * 就可以解决ScrollView、ListView嵌套问题
     */
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        heightMeasureSpec=MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE>>2,MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
}
</span>
2.activity布局文件中引用
  activity_main.xml

<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
       <ScrollView
           android:layout_width="match_parent"
           android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >
            <android.zhh.com.mylistview.MyListView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:entries="@array/names"
                >

            </android.zhh.com.mylistview.MyListView>
            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="button1"
                />
            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="button2"
                />
            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="button3"
                />

        </LinearLayout>
       </ScrollView>
</LinearLayout></span>
3.res----values----string.xml
  中造的listview假数据,这个数据一般数服务器难拿过来的,这里只是演示

<span style="font-size:18px;">  <resources>
    <string name="app_name">MyListView</string>
    <string-array name="names">
        <item>刘备</item>
        <item>关于</item>
        <item>张飞</item>
        <item>黄忠</item>
        <item>马超</item>
        <item>曹操</item>
        <item>曹洪</item>
        <item>曹仁</item>
        <item>曹休</item>
    </string-array>
</resources></span>

源码下载

MyListView-----App

http://download.csdn.net/detail/zhaihaohao1/9479107




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值