Giter Site home page Giter Site logo

recycler-view-merge-adapter's People

Contributors

mutahirqureshi 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

Watchers

 avatar  avatar  avatar  avatar  avatar

recycler-view-merge-adapter's Issues

How to apply ItemAnimator?

override fun recordPreLayoutInformation(state: RecyclerView.State,
viewHolder: RecyclerView.ViewHolder,
changeFlags: Int,
payloads: MutableList): ItemHolderInfo

Above method inside the DefaultItemAnimator class always returns payloads size as zero.

RecyclerViewMergeAdapter:2.0.0 : IndexOutOfBoundsException: Inconsistency detected

hi

Just upgraded to recyclerviewmergeadapter:2.0.0

And getting this issue all over place several time

Though this is no consistent but happens a lot and app crashes and restarts

NB : I am already having one issue at one place : #4 (comment)

but after upgrade this issue is occurring few more places now

May be you want to have look.




java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 62(offset:62).state:153
                                                              at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4503)
                                                              at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4461)
                                                              at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1962)
                                                              at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1371)
                                                              at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1334)
                                                              at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1162)
                                                              at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1019)
                                                              at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1399)
                                                              at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2347)
                                                              at android.view.View.dispatchTouchEvent(View.java:9300)
                                                              at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2547)
                                                              at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2240)
                                                              at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                                                              at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                                                              at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                                                              at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                                                              at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                                                              at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                                                              at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                                                              at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                                                              at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                                                              at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                                                              at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                                                              at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                                                              at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                                                              at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                                                              at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
                                                              at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
                                                              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:2771)
                                                              at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60)
                                                              at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2364)
                                                              at android.view.View.dispatchPointerEvent(View.java:9520)
                                                              at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4230)
                                                              at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4096)
                                                              at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
                                                              at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)
                                                              at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)
                                                              at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3787)
                                                              at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)
                                                              at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3844)
                                                              at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
                                                              at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)
                                                              at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)
                                                              at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)
                                                              at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
                                                              at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5922)
                                                              at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5896)
                                                            at android.view.ViewRootImpl.enqueueInputEve


Others similar crashes :

09-30 08:01:54.606 25627-25627/com.stay E/AndroidRuntime: FATAL EXCEPTION: main
                                                          Process: com.stay, PID: 25627
                                                          java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 1(offset:132).state:27
                                                              at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4503)
                                                              at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4461)
                                                              at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1962)
                                                              at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1371)
                                                              at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1334)
                                                              at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:563)
                                                              at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2801)
                                                              at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3145)
                                                              at android.view.View.layout(View.java:16636)
                                                              at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                              at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:581)
                                                              at android.view.View.layout(View.java:16636)
                                                              at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                              at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1627)
                                                              at android.view.View.layout(View.java:16636)
                                                              at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                              at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1034)
                                                              at android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:744)
                                                              at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
                                                              at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1180)
                                                              at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:757)
                                                              at android.view.View.layout(View.java:16636)
                                                              at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                              at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
                                                              at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
                                                              at android.view.View.layout(View.java:16636)
                                                              at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                              at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
                                                              at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
                                                              at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
                                                              at android.view.View.layout(View.java:16636)
                                                              at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                              at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
                                                              at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
                                                              at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2678)
                                                              at android.view.View.layout(View.java:16636)
                                                              at android.view.ViewGroup.layout(ViewGroup.java:5437)
                                                              at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2171)
                                                              at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1931)
                                                              at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
                                                              at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
                                                              at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
                                                              at android.view.Choreographer.doCallbacks(Choreographer.java:670)
                                                              at android.view.Choreographer.doFrame(Choreographer.java:606)
                                                              at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
                                                              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:5417)
                                                              at java.lang.reflect.Method.invoke(Native Method)
                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

error on super.onBindViewHolder

In the notes you have mentioned to to call the super.onBindViewHolder() but the gives an error as it is an abstract method.
so my question what to do or is your note wrong

sorry didn't read the entire readme properly
got the issue
the recyclerview adpater ie the subadapters have to extend RecyclerViewSubAdapter

Can not update the view added

i have added a view between two adapters and the view has check boxes . i cane update the values of the view ie the TextView values in the view and how to handle the check box clicks in the view

SubAdapter notifyItemMoved/notifyItemRemoved

I am having trouble implementing calls to notifyItemRemoved/notifyItemMoved from within my subadapter methods, because these methods would appear to take the outer mergeAdapter position, while the adapter would have its local position.

There is a method getMergePositionForLocalPosition on RecyclerViewMergeAdapter which looks like it would be helpful, but it is currently a private method.
Would it make sense for the subAdapter class to override the notify methods and perform the subadapterPosition->mergePosition before delegating upwards, or perhaps new methods notifySubItemRemoved,etc.?

Android RecyclerView IllegalArgumentException: called detach on an already detached child ViewHolder

I am getting following error sometime (not every time) while updating recycler adapter.

Note : I am using RecyclerViewMergeAdapter

What I am doing here is :

I have created 3 different type adapter and based on need it is trying to merge 9 adapter in a loop and all these 9 adapter can of of one of the 3 types we have.

All adapters are merged to RecyclerViewMergeAdapter but at some point it is crashing

Also Notice : IF all my sub adapter contains 3 or less items then it works fine but if my sub adapters contains more than 3 to 20 items then it crashes.

Please let me know if someone of have seen this issue and found any solution to this.

java.lang.IllegalArgumentException: called detach on an already detached child ViewHolder{7c7ecfb position=2 id=-1, oldPos=-1, pLpos:-1 scrap tmpDetached no parent}
  at android.support.v7.widget.RecyclerView$4.detachViewFromParent(RecyclerView.java:605)
  at android.support.v7.widget.ChildHelper.detachViewFromParent(ChildHelper.java:284)
  at android.support.v7.widget.RecyclerView$LayoutManager.detachViewInternal(RecyclerView.java:6473)
  at android.support.v7.widget.RecyclerView$LayoutManager.detachViewAt(RecyclerView.java:6466)
  at android.support.v7.widget.RecyclerView$LayoutManager.scrapOrRecycleView(RecyclerView.java:6835)
  at android.support.v7.widget.RecyclerView$LayoutManager.detachAndScrapAttachedViews(RecyclerView.java:6818)
  at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:532)
  at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2847)
  at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3145)
  at android.view.View.layout(View.java:16636)
  at android.view.ViewGroup.layout(ViewGroup.java:5437)
  at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
  at android.view.View.layout(View.java:16636)
  at android.view.ViewGroup.layout(ViewGroup.java:5437)
  at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1627)
  at android.view.View.layout(View.java:16636)
  at android.view.ViewGroup.layout(ViewGroup.java:5437)
  at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1034)
  at android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:744)
  at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
  at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1180)
  at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:757)
  at android.view.View.layout(View.java:16636)
  at android.view.ViewGroup.layout(ViewGroup.java:5437)
  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
  at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
  at android.view.View.layout(View.java:16636)
  at android.view.ViewGroup.layout(ViewGroup.java:5437)
  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
  at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
  at android.view.View.layout(View.java:16636)
  at android.view.ViewGroup.layout(ViewGroup.java:5437)
  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
  at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
  at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2678)
  at android.view.View.layout(View.java:16636)
  at android.view.ViewGroup.layout(ViewGroup.java:5437)
  at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2171)
  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1931)
  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
  at android.view.Choreographer.doCallbacks(Choreographer.java:670)
  at android.view.Choreographer.doFrame(Choreographer.java:606)
  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
  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:5417)
  at java.lang.reflect.Method.invoke(Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Set Different Layout managers!

I have two adapters where the former uses GridLayoutManager and the later one uses LinearLayout.
Is there any way i can set them both.!

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.