解决listview嵌套在scrollview中的冲突问题

来源:互联网 发布:淘宝好用的生活用品 编辑:程序博客网 时间:2024/05/01 20:11

这个是自定义的一个listview,非常简单。

<pre name="code" class="java">     <pre name="code" class="java">package com.msstudent.view;import android.content.Context;import android.util.AttributeSet;import android.widget.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 defStyle) {super(context, attrs, defStyle);}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);super.onMeasure(widthMeasureSpec, expandSpec);}}


用法:直接在xml布局文件中引人即可。



这个是一个自定义的scrollview

package com.msstudent.view;import android.content.Context;  import android.util.AttributeSet;  import android.widget.ScrollView;  public class MyScrollView extends ScrollView {    private OnScrollListener onScrollListener;        public MyScrollView(Context context) {        this(context, null);    }        public MyScrollView(Context context, AttributeSet attrs) {        this(context, attrs, 0);    }    public MyScrollView(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);    }            /**    * 设置滚动接口    * @param onScrollListener    */    public void setOnScrollListener(OnScrollListener onScrollListener) {        this.onScrollListener = onScrollListener;    }        @Override    protected void onScrollChanged(int l, int t, int oldl, int oldt) {//滑动改变就会实时调用        super.onScrollChanged(l, t, oldl, oldt);        if(onScrollListener != null){            onScrollListener.onScroll(t);        }    }    /**    *     * 滚动的回调接口    *    */    public interface OnScrollListener{        /**        * 回调方法, 返回MyScrollView滑动的Y方向距离        * @param scrollY        *              、        */        public void onScroll(int scrollY);    }   }

用法通上面的list一样




0 0
原创粉丝点击