简体   繁体   English

在Snackbar上触摸或滑动appcompat-v7:23.0.0时发生NullPointerException

[英]NullPointerException on Snackbar touch or swipe in appcompat-v7:23.0.0

I found an error when swiping the Snackbar, like this code https://github.com/nuuneoi/Lab-Android-DesignLibrary . 我在滑动Snackbar时发现错误,例如以下代码https://github.com/nuuneoi/Lab-Android-DesignLibrary

1.Add this code in proper context to the app with appcompat-v7:23.0.0: 1.使用appcompat-v7:23.0.0在适当的上下文中将此代码添加到应用中:

Snackbar
  .make(rootLayout, R.string.snackbar_text, Snackbar.LENGTH_LONG)
  .show();

2.The view must has a Toolbar within AppBarLayout like this: 2.视图必须在AppBarLayout中具有这样的工具栏:

<android.support.design.widget.CoordinatorLayout
        android:id="@+id/rootLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary" />

        </android.support.design.widget.AppBarLayout>

    </android.support.design.widget.CoordinatorLayout>

3.Swipe the Snackbar on the phone. 3.在电话上滑动小吃栏。

4.App crash 4.应用崩溃

java.lang.NullPointerException
            at android.support.design.widget.AppBarLayout$Behavior.onInterceptTouchEvent(AppBarLayout.java:729)
            at android.support.design.widget.AppBarLayout$Behavior.onInterceptTouchEvent(AppBarLayout.java:629)
            at android.support.design.widget.CoordinatorLayout.performIntercept(CoordinatorLayout.java:357)
            at android.support.design.widget.CoordinatorLayout.onInterceptTouchEvent(CoordinatorLayout.java:409)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1859)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
            at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2086)
            at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1533)
            at android.app.Activity.dispatchTouchEvent(Activity.java:2458)
            at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60)
            at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60)

Problem solved, fixed in version 23.0.1. 问题已解决,已在版本23.0.1中修复。 of support library 支持库

you have no other view embedded in the coordinatorlayout. 您没有在coordinatorlayout中嵌入其他视图。 Hence, the snackbar doesn't have any other view to coordinate with. 因此,小吃店没有其他可协调的视图。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM