Closed agicquel closed 6 years ago
Me too. any progress?
Nope didn't have the time to explore further !
@agicquel good to know. I will try to fix it myself if I get the time. Let me know if you figure out something.
@shahimclt OK, great ;)
Problem is at line 176. onLayoutChild
override is never called when compiling with sdk 27, so mViewDragHelper
is null. I'm not sure what is the reason, either it's some kind of bug in sdk 27, or some api changes (but I can't find any info about that).
If anybody have some idea, I would be happy to see.
@giaur500 True. Seems to be because onTouchEvent
is being called before onLayoutChild
has been called. Not sure if a bug in Support lib, or because some method is being called from the library in a way it's not supposed to. Need to go deeper.
@shahimclt do you have any idea? To be honest, I don't fully understand how that api works, need to learn a bit first.
Hi everyone, Apologies for very late reply, I had lost my Github account and fortunately was able to get it back. I will soon look into it and update the repo.
any idea?
Hi everyone, i clone the repository and fix the bug. Add this code: if (mViewDragHelper == null) { mViewDragHelper = ViewDragHelper.create(parent, mDragCallback); } before mViewDragHelper.processTouchEvent(event); into ViewPagerBottomSheetBehavior file (line 274)
Fantastic ! I close the close the issue.
waiting for new version
So I tried using sdk 27 and surprisingly I got different error, solving this one and will also update the above fix. If anyone had this error and solved it, please let me know.
java.lang.NoSuchMethodError: No static method getScreenWidthDp(Landroid/content/res/Resources;)I in class Landroid/support/v4/content/res/ConfigurationHelper; or its super classes (declaration of 'android.support.v4.content.res.ConfigurationHelper' appears in /data/app/com.example.krupen.fabfiltersample-1/split_lib_dependencies_apk.apk)
at android.support.design.widget.FloatingActionButton.getSizeDimension(FloatingActionButton.java:442)
at android.support.design.widget.FloatingActionButton.getSizeDimension(FloatingActionButton.java:434)
at android.support.design.widget.FloatingActionButton.onMeasure(FloatingActionButton.java:189)
at android.view.View.measure(View.java:19857)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
at android.view.View.measure(View.java:19857)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
at android.view.View.measure(View.java:19857)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
at android.view.View.measure(View.java:19857)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.view.View.measure(View.java:19857)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
at android.view.View.measure(View.java:19857)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:689)
at android.view.View.measure(View.java:19857)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2275)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1366)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1619)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6337)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Hi everyone, updated the library to v0.0.5
with the crash fix. Thank you @maurosoft1973 for finding and solving the bug.
Thanks, @Krupen and @maurosoft1973 and everyone for keeping help each other. :)
Hello, I tried to execute the fragment code exemple with the sdk version 27 and I get a crash although it works perfectly with sdk version 26.
May be I could try to fix it I i get enough free time ;-) This lib rocks, great work . š
Here's the stacktrace :
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.widget.ViewDragHelper.processTouchEvent(android.view.MotionEvent)' on a null object reference at com.allattentionhere.fabulousfilter.viewpagerbottomsheet.ViewPagerBottomSheetBehavior.onTouchEvent(ViewPagerBottomSheetBehavior.java:274) at android.support.design.widget.CoordinatorLayout.resetTouchBehaviors(CoordinatorLayout.java:389) at android.support.design.widget.CoordinatorLayout.onAttachedToWindow(CoordinatorLayout.java:235) at android.view.View.dispatchAttachedToWindow(View.java:15543) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2955) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2962) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1650) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1366) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6768) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:926) at android.view.Choreographer.doCallbacks(Choreographer.java:735) at android.view.Choreographer.doFrame(Choreographer.java:667) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:912) at android.os.Handler.handleCallback(Handler.java:761) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:156) at android.app.ActivityThread.main(ActivityThread.java:6523) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)