GithubHelp home page GithubHelp logo

anzaizai / easyrefreshlayout Goto Github PK

View Code? Open in Web Editor NEW
646.0 646.0 96.0 1.36 MB

Inherited This library allows you to easily achieve the drop-down refresh and upload more

License: Apache License 2.0

Java 100.00%

easyrefreshlayout's People

Contributors

lucklygaj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easyrefreshlayout's Issues

双指快速向下滑动奔溃

单双指快速向下滑动时会出现奔溃现象,pointerIndex out of range
具体错误日志如下:

java.lang.IllegalArgumentException: pointerIndex out of range at android.view.MotionEvent.nativeGetAxisValue(Native Method) at android.view.MotionEvent.getX(MotionEvent.java:2032) at com.ajguan.library.EasyRefreshLayout.dispatchTouchEvent(EasyRefreshLayout.java:319) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2118) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2118) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2118) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2118) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2118) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2118) at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2552) at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1757) at android.app.Activity.dispatchTouchEvent(Activity.java:2861) at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:71) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2507) at android.view.View.dispatchPointerEvent(View.java:8700) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4518) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4380) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3864) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3917) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3883) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4000) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3891) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4057) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3864) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3917) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3883) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3891) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3864) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6397) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6338) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6309) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6578) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:143) at android.os.Looper.loop(Looper.java:122) at android.app.ActivityThread.main(ActivityThread.java:5372) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1125) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:809)

下拉刷新和轮播图滑动冲突

Recyclerview头部局添加banner(像三方的ConvenientBanner),banner的滑动会和easyRefreshLayout的下拉冲突,需要在事件分发上修改。

刷新完成的问题

刷新成功调用refreshComplete()后会有个短时间的动画显示“刷新成功”再结束整个刷新,但是每次刷新不一定都是成功的,有网络超时的情况,这时候再提示“刷新成功”显然是不合理的,希望能在refreshComplete方法中加个参数判断显示“刷新成功”或者“刷新失败”,或者去掉这个刷新完成后的提示

是否可以让加载更多不覆盖最后一个view

作者你好
近期在使用你的这个控件的时候,发现,加载更多的界面,会覆盖住最后一个Item 不知道如何设置,可以让这个不覆盖?
and 可以在xml中设置刷新样式和加载更多的样式吗?
不胜感激

点击加载更多的view没有反应

扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差扩展性好差

单独实现加载更多bug

OnlyLoadingActivity.java里面因为easyRefreshLayout.setEnablePullToRefresh(false);导致加载更多功能无法实现,但是开启的话又会有下拉刷新,建议两个分开判断,另外就是BRVAH版本估计需要更新下

load more 显示有问题

运行demo发现加载更多时显示会有如下问题:最后一条还没展示完全只显示一部分就开始加载更多view了,建议监听最后一条显示状态及滑动状态再判断是否开始加载更多

更多的RefreshHeaderView自定义选项

我想在refreshComplete后在RefreshHeaderView中显示一些结果的信息,是否可以自定义SHOW_COMPLETED_TIME 或者在IRefreshHeaderView的协议里加一个getCompletedTime之类的接口用来返回现实completed的时间

method 'setRefreshing' is invalid

刚进入界面时我需要先自动刷新一次数据,刷新时间为5s,所以我要手动设置正在刷新让用户知道正在刷新数据中,而不需要用户首次在空白的界面上手动下拉刷新触发,然而我调用了setRefreshing却没有看到“正在刷新”的头部显示出来。

加载更多问题

加载更多时,将RecyclerView滑到顶部,会显示不完整。

和BaseRecyclerViewAdapterHelper结合使用的问题

现在产品的需求是需要自定义的一个下拉的刷新头,上拉的时候需要在最后一个item的底部加入脚布局。
所以现在就有一个需求是应用easyrefreshlayout的下拉刷新,又需要应用到BaseRecyclerViewAdapterHelper的上拉加载。请问这样的需求,需要在EasyRefreshLayout中怎么设置呢?

给recycler view的item设置selector

   默认recycler view的item按压是没有背景颜色变化的效果的,所以我给recycler view的item添加了自定义的selector时发现了问题。
   在按压的同时,只要再稍微向下滑一下,带动了一点点下拉刷新,再抬手,item的背景色就不会变成原来的颜色,而是还是按压后的颜色;
   说明就是那带动的一点点下拉刷新,导致页面没有重新绘制,(selector的原理就是调用invalidateDrawable来绘制的,我是这么想的,不知道有没错)果然,我换成swiprefreshlayout后,就没有这种情况,按压的同时,也稍微向下滑了一下,但是抬手后,item背景色还是会还原成没按压前的

你好,我在Tablayout和ViewPager的切换中遇见头布局显示不完问题,高度一直为158

期待解决方案: 给一方法,可以获取到 添加进去的自定义头布局,然后控制他的高度。

this.refreshHeaderView = headerView;
        this.addView(this.refreshHeaderView);

我的tab和viewpager布局

   <!-- 和viewpager 结合的标签 -->
    <android.support.design.widget.TabLayout
        android:id="@+id/home_tab_"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="30dp"
        app:tabBackground="@android:color/transparent"
        app:tabIndicatorColor="@color/pink"
        app:tabIndicatorHeight="3dp"
        app:tabMode="scrollable"
        app:tabSelectedTextColor="@color/pink"
        app:tabTextColor="#000"
        ></android.support.design.widget.TabLayout>
    <!-- 首页主内容区域 -->
    <android.support.v4.view.ViewPager
        android:id="@+id/home_vp_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </android.support.v4.view.ViewPager>

第一个ViewPager的item 头布局显示正常 log 显示正常,从第二个
com.swm.lightbeauty.view.refresh.MyHeaderView{783f770 V.E...... ......ID 0,-241-1080,0}

第二个log 头布局高度为158 不管怎么我把头布局设置为多高,高度永远被赋为:158我测的是默认头布局的高度
com.swm.lightbeauty.view.refresh.MyHeaderView{1e12920 V.E...... ......ID 0,-158-1080,0}

不知道为什么Github一直上传图片失败。
滑动有BUG的图片,高度一直被赋为158,高度实际为241
滑动有BUG的图片,高度一直被赋为158,高度实际为241

显示正常的图片,高度实际为241
显示正常的图片,高度实际为241

上滑加载更多bug

当服务器所有数据都加载到列表之后,下滑也会触发loadmore。需要在recyclerview的滑动监听中判断是上滑还是下滑

列表数量不足一页,上拉加载也会被调用。

首先感谢分享,我看别人提过这个问题,但是使用1.3.1版本,依然会出现。
代码如下:
mErlCoinExpire = (EasyRefreshLayout) findViewById(R.id.erl_coin_expire);
mErlCoinExpire.setRefreshHeadView(new SimpleRefreshHeaderView(CoinExpireActivity.this));
mErlCoinExpire.setLoadMoreView(new SimpleLoadMoreView(CoinExpireActivity.this));
mErlCoinExpire.addEasyEvent(new EasyRefreshLayout.EasyEvent() {
@OverRide
public void onLoadMore() {
getCoinExpire();
}

        @Override
        public void onRefreshing() {
            page=1;
            getCoinExpire();
        }
    });

暂时通过本地判断解决了,希望能改下

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.