GithubHelp home page GithubHelp logo

chanven / commonpulltorefresh Goto Github PK

View Code? Open in Web Editor NEW
1.1K 56.0 303.0 8.88 MB

Android widget with pull to refresh for all the views,and support loadMore for ListView , RecyclerView, GridView and SwipeRefreshLayout.

License: Apache License 2.0

Java 100.00%

commonpulltorefresh's Issues

有关RecycleView 的问题

您好:
下面是有关于RecycleView的问题
作者在RecyclerAdapterWithHF中对adapter添加header 和footer
mAdapter.addHeader(mHeader);
mAdapter.addFooter(mHeader);
当LinearLayoutManager 为 StaggeredGridLayoutManager时列数大于1
addHeader 和 addFooter 变为Item,布局错位,看了代码后发现,作者是在把view 当做adapter 的一个Item 给添加进去的,这样当为StaggeredGridLayoutManager 或GridView ,列数大于1,添加的头部和底部会变形,还有加载更多 同样
public void addHeader(View header) {
if (!mHeaders.contains(header)) {
mHeaders.add(header);
// animate
notifyItemInserted(mHeaders.size() - 1);
}
}

      mAdapter = new RecyclerAdapterWithHF(adapter);

// mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
// mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(4,
// StaggeredGridLayoutManager.VERTICAL));
mRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));

java.lang.RuntimeException

java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead

如何设置上拉加载的样式

我需要修改上拉加载的样式,但是找不到地方设置.
在PtrFrameLayout中已经被写死了

private ILoadViewMoreFactory loadViewFactory = new DefaultLoadMoreFooter();  //line 1046

提个问题

这个下拉刷新的控件里面只能包含一个控件而且是View还不能是Layout吗?我用这个布局包含一个RelativeLayout,设置可以加载更多时就崩溃,而且RelativeLayout包含ListView的话可以上滑但没办法下滑

跟AppBarLayout有冲突

我现在标题用design包里面的AppBarLayout,下拉的问题被我解决了,但是上拉加载更多之后,然后往上滑动,AppBarLayout出现的时候是空的。。。不知道作者知道什么问题吗?

RecycleView 上拉不会自动加载更多

demo中 recycle view 上拉没反应,要点了才能加载。why?
---》不知道算不算解决:
搞了大半天,才发现support版本问题,如果用23.4.0则出现上面的问题,改回成23.1.1,问题解决。

Demo:ListView当footView出现一点就开始加载更多,而RecyclerView需要footView全部出现才可以加载更多?

我在运行Demo的时候发现2个问题:都是上拉加载更多
第一个:
若是ListView,那么当footView出现一点点的时候就会加载更多,而RecyclerView需要footView全部出现才会加载更多。
第二个:
mData.add(new String(" RecyclerView item - add " + page));
mAdapter.notifyDataSetChanged();
必须在一起,如果采用mHandler.sendEmptyMessageDelayed(123, 1500);把加载数据和 mAdapter.notifyDataSetChanged();分开,会有bug。

    ptrClassicFrameLayout.setPtrHandler(new PtrDefaultHandler() {

        @Override
        public void onRefreshBegin(PtrFrameLayout frame) {
                 mData.add(new String("  RecyclerView item  - add " + page));
                mHandler.sendEmptyMessageDelayed(123, 1500);
        }
    });


private Handler mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        if (msg.what == 123) {
            mAdapter.notifyDataSetChanged();
            ptrClassicFrameLayout.loadMoreComplete(true);
            page++;
            Toast.makeText(RecyclerViewActivity.this, "load more complete", Toast.LENGTH_SHORT).show();
        }
    }
};

会出现bug:一次正常有1.5s的间隔,一次没有(直接是加载更多后的结果),依次循环。

下拉刷新WebVeiw

下拉刷新WebVeiw
WebVeiw 里向下滚动后 向上滑 回不到顶部 直接刷新 WebView.reload(); 后 依然回不到首页

感谢分享--提点小建议

原来工程一直用pulltorefresh,今天挖到这个,感觉还不错,但有几个建议
1.把替换加载图片和加载文字做成接口(目前可以替换图片,但没有替换加载文字的,这个pulltorefresh要好点,全接口形式)
2.能不能灵活点可配置一些东西(比如加载更多,我可以配置成上提界面实现加载,也可以配置成自动加载,(总要是产品很多要求,一会要自动,一会要上提))

3Q,辛苦

recyleview错误

android Studio中使用出现recyleview multidex错误,使用的版本为v7-23.1.0,demo可以运行,但是移植module后出现该问题,希望能给予提示

[内存泄漏]使用leakCanary 发现内存泄漏

  • GC ROOT android.view.Choreographer$FrameDisplayEventReceiver.mMessageQueue
    * references android.os.MessageQueue.mMessages
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.next
    * references android.os.Message.callback
    * references com.chanven.lib.cptr.PtrFrameLayout$2.this$0 (anonymous class implements java.lang.Runnable)

如何支持scrollview

如果代码执行到这里就会抛出异常,请问是怎么兼容scrollview的
if (null == mLoadMoreHandler) { if (mContentView instanceof GridView) { mLoadMoreHandler = new GridViewHandler(); } else if (mContentView instanceof AbsListView) { mLoadMoreHandler = new ListViewHandler(); } else if (mContentView instanceof RecyclerView) { mLoadMoreHandler = new RecyclerViewHandler(); } } if (null == mLoadMoreHandler) { throw new IllegalStateException("unSupported contentView !"); }

recyclerview-v7:23.2.1以上,autoMeasure导致的FooterView满屏的问题

最新的recyclerview加了autoMeasure功能,在 RecyclerAdapterWithHF 中的onCreateViewHolder里面,
自己创建的HeaderFooterView不应该在用MATCH_PARENT了.

FrameLayout frameLayout = new FrameLayout(viewGroup.getContext()); // make sure it fills the space frameLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); return new HeaderFooterViewHolder(frameLayout);

使用RecyclerView 加载到第二页后,再去拉下刷新(同时向下滚动),报异常!

java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 4(offset:4).state:11
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4405)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333)
at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1161)
at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1018)
at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:3807)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:780)
at android.view.Choreographer.doCallbacks(Choreographer.java:593)
at android.view.Choreographer.doFrame(Choreographer.java:561)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:766)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5314)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:680)
at dalvik.system.NativeStart.main(Native Method)

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.