Closed saquer0716 closed 7 years ago
It seems like it, but it's really difficult to reproduce. Is this a Switch
that is not visible on the screen first but you have to scroll down a bit to reveal it?
Hello. I have the same problem (during switching):
java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling
at android.support.v7.widget.RecyclerView.assertNotInLayoutOrScroll(RecyclerView.java:2397)
at android.support.v7.widget.RecyclerView$RecyclerViewDataObserver.onItemRangeChanged(RecyclerView.java:4626)
at android.support.v7.widget.RecyclerView$AdapterDataObservable.notifyItemRangeChanged(RecyclerView.java:10462)
at android.support.v7.widget.RecyclerView$Adapter.notifyItemChanged(RecyclerView.java:6149)
at android.support.v7.preference.PreferenceGroupAdapter.onPreferenceChange(PreferenceGroupAdapter.java:219)
at android.support.v7.preference.Preference.notifyChanged(Preference.java:1061)
at android.support.v7.preference.TwoStatePreference.setChecked(TwoStatePreference.java:82)
at com.takisoft.fix.support.v7.preference.SwitchPreferenceCompat.setChecked(SwitchPreferenceCompat.java:40)
at android.support.v7.preference.SwitchPreferenceCompat$Listener.onCheckedChanged(SwitchPreferenceCompat.java:57)
at android.widget.CompoundButton.setChecked(CompoundButton.java:156)
at android.support.v7.widget.SwitchCompat.setChecked(SwitchCompat.java:1061)
at com.takisoft.fix.support.v7.preference.SwitchPreferenceCompat.onBindViewHolder(SwitchPreferenceCompat.java:34)
at android.support.v7.preference.PreferenceGroupAdapter.onBindViewHolder(PreferenceGroupAdapter.java:316)
at android.support.v7.preference.PreferenceGroupAdapter.onBindViewHolder(PreferenceGroupAdapter.java:37)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5825)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5858)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5094)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4970)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2029)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1414)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1377)
at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1193)
at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1043)
at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:4413)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:603)
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:5461)
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)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:102)
Can you provide a test preferences XML for this? I couldn't reproduce the problem.
@Gericop I also don't see any problem, but I get a bug reports from users who use a switch button in the settings.
java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling
at android.support.v7.widget.RecyclerView.assertNotInLayoutOrScroll(RecyclerView.java:2397)
at android.support.v7.widget.RecyclerView$RecyclerViewDataObserver.onItemRangeChanged(RecyclerView.java:4626)
at android.support.v7.widget.RecyclerView$AdapterDataObservable.notifyItemRangeChanged(RecyclerView.java:10462)
at android.support.v7.widget.RecyclerView$Adapter.notifyItemChanged(RecyclerView.java:6149)
at android.support.v7.preference.PreferenceGroupAdapter.onPreferenceChange(PreferenceGroupAdapter.java:219)
at android.support.v7.preference.Preference.notifyChanged(Preference.java:1061)
at android.support.v7.preference.TwoStatePreference.setChecked(TwoStatePreference.java:82)
at com.takisoft.fix.support.v7.preference.SwitchPreferenceCompat.setChecked(SwitchPreferenceCompat.java:40)
at android.support.v7.preference.SwitchPreferenceCompat$Listener.onCheckedChanged(SwitchPreferenceCompat.java:57)
at android.widget.CompoundButton.setChecked(CompoundButton.java:156)
at android.support.v7.widget.SwitchCompat.setChecked(SwitchCompat.java:1061)
at com.takisoft.fix.support.v7.preference.SwitchPreferenceCompat.onBindViewHolder(SwitchPreferenceCompat.java:34)
at android.support.v7.preference.PreferenceGroupAdapter.onBindViewHolder(PreferenceGroupAdapter.java:316)
at android.support.v7.preference.PreferenceGroupAdapter.onBindViewHolder(PreferenceGroupAdapter.java:37)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5825)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5858)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5094)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4970)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2029)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1414)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1377)
at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1193)
at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1043)
at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:4413)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:603)
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:5525)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
@saquer0716 and @proninyaroslav: I might have fixed this bug. Please try the new version (v25.0.0.1) and tell me if it got fixed or you still get error reports.
This is not fixed in 25.0.1.0
Oh, nevermind, I have a different crash
Is this bug still present, @saquer0716 and @proninyaroslav?
Got some crashes from SwitchPreferencesCompat:
java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling at android.support.v7.widget.RecyclerView.assertNotInLayoutOrScroll(RecyclerView.java) at android.support.v7.widget.RecyclerView$RecyclerViewDataObserver.onItemRangeChanged(RecyclerView.java) at android.support.v7.widget.RecyclerView$AdapterDataObservable.notifyItemRangeChanged(RecyclerView.java) at android.support.v7.widget.RecyclerView$Adapter.notifyItemChanged(RecyclerView.java) at android.support.v7.preference.PreferenceGroupAdapter.onPreferenceChange(PreferenceGroupAdapter.java) at android.support.v7.preference.Preference.notifyChanged(Preference.java) at android.support.v7.preference.TwoStatePreference.setChecked(TwoStatePreference.java) at com.takisoft.fix.support.v7.preference.SwitchPreferenceCompat.setChecked(SwitchPreferenceCompat.java) at android.support.v7.preference.SwitchPreferenceCompat$Listener.onCheckedChanged(SwitchPreferenceCompat.java) at android.widget.CompoundButton.setChecked(CompoundButton.java:165) at android.support.v7.widget.SwitchCompat.setChecked(SwitchCompat.java) at com.takisoft.fix.support.v7.preference.SwitchPreferenceCompat.onBindViewHolder(SwitchPreferenceCompat.java)
This came from developer console and I can't reproduce it from my test devices. Could it be the animation when switching state?