Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 取消Snackbar/ViewDragHelper时出现ArrayIndex边界外异常_Android_Android Design Library_Android Coordinatorlayout_Android Snackbar - Fatal编程技术网

Android 取消Snackbar/ViewDragHelper时出现ArrayIndex边界外异常

Android 取消Snackbar/ViewDragHelper时出现ArrayIndex边界外异常,android,android-design-library,android-coordinatorlayout,android-snackbar,Android,Android Design Library,Android Coordinatorlayout,Android Snackbar,在我的一些应用程序中实现新的Snackbar后,我收到以下错误: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1 at android.support.v4.widget.ViewDragHelper.shouldInterceptTouchEvent(SourceFile:1014) at android.support.design.widget.SwipeDismissBehavior.onInterceptTouc

在我的一些应用程序中实现新的
Snackbar
后,我收到以下错误:

java.lang.ArrayIndexOutOfBoundsException: length=1; index=1 at
android.support.v4.widget.ViewDragHelper.shouldInterceptTouchEvent(SourceFile:1014) at
 android.support.design.widget.SwipeDismissBehavior.onInterceptTouchEvent(SourceFile:188) at
 android.support.design.widget.Snackbar$Behavior.onInterceptTouchEvent(SourceFile:659) at
 android.support.design.widget.Snackbar$Behavior.onInterceptTouchEvent(SourceFile:641) at
 android.support.design.widget.CoordinatorLayout.performIntercept(SourceFile:343) at
 android.support.design.widget.CoordinatorLayout.onInterceptTouchEvent(SourceFile:376) at
 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1827) at
 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at
 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at
 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at
 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at
 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at 
 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at 
 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at 
 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at 
 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at 
 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at 
 android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at 
 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at 
 com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1968) at 
 com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1420) at 
 android.app.Activity.dispatchTouchEvent(Activity.java:2428) at 
 android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(SourceFile:59) at 
 android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(SourceFile:59) at 
 com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1916) at 
 android.view.View.dispatchPointerEvent(View.java:7475) at 
 android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3744) at 
 android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3672) at 
 android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4924) at 
 android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4884) at 
 android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5036) at 
 android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:179) at 
 android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) at 
 android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:171) at 
 android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:5004) at 
 android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:5058) at 
 android.view.Choreographer$CallbackRecord.run(Choreographer.java:776) at 
 android.view.Choreographer.doCallbacks(Choreographer.java:579) at 
 android.view.Choreographer.doFrame(Choreographer.java:546) at 
 android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:762) at 
 android.os.Handler.handleCallback(Handler.java:725) at 
 android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:153) at 
 android.app.ActivityThread.main(ActivityThread.java:5299) at java.lang.reflect.Method.invokeNative(Native 
 Method) at java.lang.reflect.Method.invoke(Method.java:511) at 
 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) at 
 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) at dalvik.system.NativeStart.main(Native 
 Method) 
我在这里使用相同的设置:

摘要:

  • 我正在使用
    Snackbar
  • 我正在使用
    CoodinartorLayout
  • 我没有使用抽屉布局
谷歌问题:

基于异常中行的
android.support.v4.widget.ViewDragHelper.shouldInterceptotouchevent(源文件:1014),我猜这与
Snackbar的“dismissing”有关


也许我不应该
onPause
中关闭
Snackbar
?我曾经用
Toast
s来实现这一点。

我找到的一个解决方案是使用
findViewById(android.R.id.content)
来确保它不能“刷卡”。此解决方案基本上“避免”并防止错误发生

Snackbar.make(findViewById(android.R.id.content), "Hello!", Snackbar.LENGTH_LONG);

应在
23.2.1

中修复“我收到以下错误”--您的意思是您没有在实验室复制此错误,但您是通过生产应用程序中的崩溃报告获得的?“也许我不应该在onPause中取消Snackbar?”--嗯,与
Toast
不同,AFAIK a
Snackbar
是活动视图层次结构的一部分,因此它不应该干扰其他占据前台的活动,如果这就是您取消它的原因。是的,没错。我无法在我的任何设备或任何测试上重现此错误。为什么会被否决?@commonware您认为在
onPause
中调用
discouse
会导致此错误吗?请检查更新到23.2.1是否为您解决了此问题@JaredBurrows?我不确定<代码>24.0.0
已退出。确保使用最新版本。是的,我也检查了我的Android支持库,它是23.2.1,没有更新可供使用me@DomeWTF所有支持库现在都在jcenter上。始终使用最新版本。
Snackbar.make(findViewById(android.R.id.content), "Hello!", Snackbar.LENGTH_LONG);