После обновления Design Support Library 23.0.0 и построить SDK 23, мои сбои приложений при попытке уволить Snackbar
:Android закусочной падает на связь с библиотекой поддержки проектирования 23.0.0
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.MotionEvent.getAction()' on a null object reference
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)
I гавань» т что-либо изменить, так как обновление, и я использую единственный способ, который я знаю, у для показа закусочной:
Snackbar.make(rootView, getString(R.string.error_no_permissions),Snackbar.LENGTH_LONG).show();
Существует проблема сообщалось NPE на CoordinatorLayout
, которые могут быть связаны: CoordinatorLayout NullPointerException in onTouchEvent, но я до сих пор не могу найти обходной путь для моей ситуации п. Я попытался это possible solution, но до сих пор не повезло ...
EDIT: Оказывается, решение (как это было предложено @NikolaDespotoski) заменяемое по умолчанию AppBarLayout.Behavior
public class AppBarLayoutBehavior extends AppBarLayout.Behavior {
@Override
public boolean onInterceptTouchEvent(CoordinatorLayout parent, AppBarLayout child,
MotionEvent ev) {
return !(parent != null && child != null && ev != null) || super
.onInterceptTouchEvent(parent, child, ev);
}
}
... и использовать его в нашем AppBarLayout
((CoordinatorLayout.LayoutParams) findViewById(R.id.appbar).getLayoutParams())
.setBehavior(new AppBarLayoutBehavior());
Если вы посмотрите на билет, который вы связали, вы можете заметить, что он помечен как «FutureRelease», что означает, что проблема исправлена, но она еще не выпущена. Судя по комментарию, сделанному в четверг, 20 августа, «мы хотим получить исправление ASAP», надеюсь, скоро будет выпущена версия, чтобы исправить эту проблему. В противном случае, кажется, лучший способ действий - вернуться к api 22 или игнорировать проблему до тех пор, пока исправление не будет выпущено. –
Похоже на это, но я боюсь, что проблема с закусочной не будет исправлена, так как предлагаемое обходное решение не решает проблему. В любом случае, я думаю, вы правы, было бы лучше, если я вернусь к поддержке дизайна 22.2.1 для производства и сборки SDK 22, но это проблема, так как я начал готовить свое приложение для Android M ... –
Ну, вы может продолжать готовиться к 23.0.0 и игнорировать ошибку до тех пор, пока не будет выпущено исправление, которое, мы надеемся, будет до того, как Android M будет фактически выпущен пользователям. Таким образом, вы не отстаете в этом смысле. И если он выйдет, вам просто нужно построить для 22 –