ScrollView嵌套GridView,并实现GridView竖直分页加载

本文介绍如何解决ScrollView嵌套GridView时的滑动冲突问题,通过自定义ScrollView和GridView,实现GridView竖直分页加载。关键点包括:设定GridView长度,监听滑动事件,以及在滑动到底部时进行分页加载。
摘要由CSDN通过智能技术生成

最近在项目中遇到ScrollView嵌套GridView的需求,由于ScrollView和GridView的滑动方向都一样,所以会产生冲突。在网上找了好了好久,搜到的都是在setOnTouchListener(new View.OnTouchListener()里设置GridView的requestDisallowInterceptTouchEvent(true),可这并不能真正解决我的需求问题,思考测试一段时间后,想到了一个方法,但任然存在一些小bug。
具体的代码和过程如下:
首先要自定义一个ScrollView

package com.xiaosong.yuangou;

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

/**
 * Created by user on 2015/8/31.
 */
public class InforScrollView extends ScrollView {
   

    private OnScrollListener onScrollListener;

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

    public InforScrollView(Context context,AttributeSet attrs){
        super(context, attrs);

    }

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


    public void setOnScrollListener(OnScrollListener onScrollListener){
        this.onScrollListener = onScrollListener;

    }

    @Override
    protected int computeVerticalScrollRange() {
        return super.computeVerticalScrollRange();
    }

    @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{
   
        public void onScroll(int ScrollY);
    }
}

接下来就是自定义的GridView,用来实现GridView控件的内容滑动到顶部和底部的监听,代码如下:

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.AbsListView;
import android.widget.GridView;

/**
 * Created by user on 2015/9/29.
 */
public class MainHeadGrideView extends GridView implements AbsListView.OnScrollListener{
   

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值