Code Monkey home page Code Monkey logo

loadingviewfinal's Introduction

loadingviewfinal's People

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  avatar  avatar  avatar

loadingviewfinal's Issues

ListViewFinal 默认底部会留一个白边。

app:noLoadMoreHideView="true"
listView.setHasLoadMore(false);

均无效 除非

这样写才有效

listView.setHasLoadMore(true);
listView.setOnLoadMoreListener(new OnLoadMoreListener() {
@OverRide
public void loadMore() {
new Handler().postDelayed(new Runnable() {
public void run() {
listView.setHasLoadMore(false);
}
},1000);
}
});

myListView.setHasLoadMore(false);的时候默认会有一个白条

myListView.setHasLoadMore(false);的时候默认会有一个白条,造成这个的原因是footview的控件没有显示出来
修改后好了,请作者查询mHasLoadMore = hasLoadMore;
if (!mHasLoadMore) {

        if(mNoLoadMoreHideView && mHasLoadMoreViewShowState) {
            hideLoadMoreView();
        }
        showLoadMoreView();
        showNoMoreUI();
    } else {
        if(!mHasLoadMoreViewShowState) {
            showLoadMoreView();
        }
        showNormalUI();
    }

setHasLoadMore()的逻辑有问题

public void setHasLoadMore(boolean hasLoadMore) {
        mHasLoadMore = hasLoadMore;

        if (!mHasLoadMore) {
            showNoMoreUI();
            if(mNoLoadMoreHideView) {
                removeFooterView(mLoadMoreView.getFooterView());
                mAddLoadMoreFooterFlag = false;
            }
        } else {
            if(!mAddLoadMoreFooterFlag) {
                mAddLoadMoreFooterFlag = true;
                addFooterView(mLoadMoreView.getFooterView());
            }
            showNormalUI();
        }
    }

如果加载完第一页之后就没有更多数据了,然后调用一次setHasLoadMore(false),此时的预期应该是底部显示『没有更多了』,但是按照上面的逻辑会无法显示底部。

请教RecyclerViewFinal.java中setadapter方法的问题

RecyclerViewFinal.java中setAdapter方法(120行左右)
没有调用super.setAdapter(adapter);的原因是什么?出于什么样的考虑?

在使用fastadapter等其它自定义adapter时,无法调用到adapter中重写的public void onBindViewHolder(RecyclerView.ViewHolder holder, int position, List payloads) 方法

混淆问题

Warning:cn.finalteam.loadingviewfinal.HeaderAndFooterRecyclerViewAdapter: can't find referenced method 'void notifyItemRangeInserted(int,int)' in program class cn.finalteam.loadingviewfinal.HeaderAndFooterRecyclerViewAdapter

瀑布流效果加载更多位置问题

使用RecyclerViewFinal+StaggeredGridLayoutManager设置两列与垂直 上拉加载更多的footview是跟在第一列或者第二列的最新item后面

RecyclerViewFinal的setEmptyView没法用

RecyclerViewFinal的setEmptyView没法用,看了下源码setAdapter里面adapter.registerAdapterDataObserver(mDataObserver)里面的mDataObserver这个对象被HeaderAndFooterRecyclerViewAdapter里面的mDataObserver替代了!那么setEmptyView要怎么使用?

executeLoadMore()逻辑问题,会造成lcok始终为true,不能加载,一直显示加载动画。

RecyclerViewFinal中executeLoadMore():

void executeLoadMore() {
    if(!mLoadMoreLock && mHasLoadMore) {
        if (mOnLoadMoreListener != null) {
            mOnLoadMoreListener.loadMore();
        }
        mLoadMoreLock = true;//上锁
        showLoadingUI();
    }
}

loadMore()是数据加载业务,在完成数据加载后,一般会调用RecyclerViewFinal.setHasLoadMore(true)去释放锁。但是如果 loadMore() 很快就结束,那么 mLoadMoreLock 就始终为 true.
下次再 load more 的时候,就会只显示加载动画,不会执行。

建议更改:

mLoadMoreLock = true;//上锁
if (mOnLoadMoreListener != null) {
    mOnLoadMoreListener.loadMore();
}
showLoadingUI();

刷新recyclerview列表数据由不满屏到满屏出现crash

Process: com.jgw.supercodepda, PID: 1813
java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true
at android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:4878)
at android.support.v7.widget.RecyclerView$Recycler.quickRecycleScrapView(RecyclerView.java:4951)
at android.support.v7.widget.RecyclerView$LayoutManager.removeAndRecycleScrapInt(RecyclerView.java:7352)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:3101)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2917)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3283)
at android.view.View.layout(View.java:14834)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14834)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14834)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14834)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14834)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14834)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14834)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14834)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14834)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14834)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14834)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1983)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1740)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5600)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at android.view.Choreographer.doCallbacks(Choreographer.java:574)
at android.view.Choreographer.doFrame(Choreographer.java:544)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
at android.os.Handler.handleCallback(Handler.

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.