Comments (22)
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:v1.7.7' 这个版本已经解决了上拉再下拉的问题了
from baserecyclerviewadapterhelper.
请描述复现的过程,最好能够提供使用代码,这边无法复现,所以无法很好的解决。
from baserecyclerviewadapterhelper.
我clone当前这个库的代码跑到手机上,没有改动任何代码,跑到手机上,在PullToRefreshUseActivity界面手指快速上下滚动list,偶尔就会出现这个崩溃。我准备用你的库,现在也在看这个bug,这里有个一样的问题:https://code.google.com/p/android/issues/detail?id=77846#hc141
from baserecyclerviewadapterhelper.
from baserecyclerviewadapterhelper.
恩,了解,看来这个是recyclerview控件本身,更新数据的时候出的问题,我这边也想想解决方案。我这边是在无法复现,我先多试试几台机器,非常感谢!
from baserecyclerviewadapterhelper.
你试下这个看可以不?http://blog.csdn.net/lovexieyuan520/article/details/50537846 因为我这边无法复现,所以不能很好的测试,麻烦你那边测试一下。
from baserecyclerviewadapterhelper.
@CymChad 博客的内容:捕获这个异常,确实可以这个解决问题。
但是,快速的下拉刷新,上来加载(最好多试几次),新的问题又来了:
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 13(offset:13).state:14 at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4659)
from baserecyclerviewadapterhelper.
尝试用这个解决:http://stackoverflow.com/questions/30220771/recyclerview-inconsistency-detected-invalid-item-position
不行,:(
from baserecyclerviewadapterhelper.
再附上一个链接(也许有帮助):HabitRPG/habitica-android#108
from baserecyclerviewadapterhelper.
恩 好的 多谢 我看看
from baserecyclerviewadapterhelper.
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{fb9eb29 position=13 id=-1, oldPos=-1, pLpos:-1 no parent}
at android.support.v7.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition(RecyclerView.java:4505)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4636)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4617)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1994)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1390)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1353)
at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1180)
at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1031)
at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1529)
at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2486)
at android.view.View.dispatchTouchEvent(View.java:9306)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2548)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2241)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2554)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2255)
at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2403)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1737)
at android.app.Activity.dispatchTouchEvent(Activity.java:2820)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60)
at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2364)
at android.view.View.dispatchPointerEvent(View.java:9526)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4255)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4121)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3662)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3715)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3681)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3807)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3689)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3864)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3662)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3715)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3681)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3689)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3662)
at android.view.V
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 21(offset:21).state:22
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4659)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4617)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1994)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1390)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1353)
at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1180)
at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1031)
at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:4061)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:860)
at android.view.Choreographer.doCallbacks(Choreographer.java:672)
at android.view.Choreographer.doFrame(Choreographer.java:605)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:846)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5438)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
我也遇到过了,好像就是RecyclerView 本身的问题。
https://drakeet.me/recyclerview-bug-indexoutofboundsexception-inconsistency-detected-invalid-item-position-solution?utm_source=tuicool&utm_medium=referral
from baserecyclerviewadapterhelper.
恩 是RecyclerView 本身的问题, 你用上面的那个方法,解决了 Inconsistency detected. Invalid view holder adapter 吗?
from baserecyclerviewadapterhelper.
请问这个问题有解决思路吗???我今天也遇到这个问题了
from baserecyclerviewadapterhelper.
我的想法是,当上拉的时候显示一个弹出框,禁止用户操作,等加载完成后再让用户操作,这样就不会出现这种问题了。
from baserecyclerviewadapterhelper.
我好像解决了这个问题,但是只能是保证不蹦,可能点击事件有问题,没具体看。用的是非常基本的办法,别笑话我!
@OverRide
public void addFooterView(View footer) {
super.addFooterView(footer);
mFooterView = footer;
}
public View getFooterView(){
return mFooterView;
}
@Override
public void addHeaderView(View header) {
super.addHeaderView(header);
mHeaderView = header;
}
public View getHeaderView(){
return mHeaderView;
}
@Override
public int getItemCount() {
if (getFooterView() != null && getHeaderView() != null){
return mData.size() + 2;
} else if (getFooterView() != null || getHeaderView() != null){
return mData.size() + 1;
} else {
return mData.size();
}
}
这样好像是可以的。对了,在主代码里面记得加上adapter.addFooterView(View mView);
from baserecyclerviewadapterhelper.
getFooterView() != null && getFooterView() != null 这两个不是一样的吗?
from baserecyclerviewadapterhelper.
非常感谢,纠结了这问题好久
from baserecyclerviewadapterhelper.
you try
mRecyclerView.getRecycledViewPool().clear();
adapter.notifyDataSetChanged();
from baserecyclerviewadapterhelper.
2.2.2还是出现这样的问题
from baserecyclerviewadapterhelper.
@chenbinzhou 更新最新版本
from baserecyclerviewadapterhelper.
hey you !!! What is problem often to java.lang.IndexOutOfBoundsException and Then fix it @CymChad
from baserecyclerviewadapterhelper.
Is issue of notifyDataSetChanged @PongPloy2016
from baserecyclerviewadapterhelper.
Related Issues (20)
- 设置空布局,一开始list有数据,没问题,后来在刷新数据后list成为空列表,再次submitList会闪退 HOT 2
- 4.1.4 代码可以增加下list嵌套的例子吗? HOT 1
- 4.1.4非常好用,咨询2个问题
- 关于获取adapter的position
- 横向加载更多布局问题 HOT 2
- 4.1.4版本demo为什么没有一级二级菜单分类展示案列?是不支持了吗? HOT 5
- 希望适配器能加一个数据变化的监听器
- 版本:3.0.14,调用item点击事件后notifyDataSetChanged,item的拖拽事件就不灵敏了,必现 HOT 1
- 两个BaseSingleItemAdapter,都放最后,一个设置占满一行,一个不设置,在gridlayoutmanager中,应该占一行的没有占满一行
- 怎么获取任意位置的view HOT 1
- BaseItemProvider 怎么获取各自position HOT 1
- 有支持jdk21的版本吗
- BaseMultiItemAdapter增加Differ支持 HOT 2
- 4.1.4最新版本onItemViewType position 下标越界
- 调用mAdapter.remove()方法报错
- 空指针
- addFooterView后没有显示footerView
- 使用 GestureDetector 检测双击删除,使用 removeAt 返回的 position 不能及时刷新,使用 remove 可以正常删除
- node模块怎么删了呀 HOT 2
- 您好,BaseMultiItemAdapter 支持 一个界面既有横向布局,又有纵向布局吗? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from baserecyclerviewadapterhelper.