1

У меня возникла проблема в моем проекте. У меня есть CollapsingToolbarLayout в моем проекте, когда я прокручиваю вниз и панель инструментов закрыта, а затем после этого, если я прокручиваю вверх и касаюсь изображения на панели сворачивания, приложение получает принудительное закрытие, и я вижу это Ошибки:Force Close: ColapsingToolbar ontouch

09-10 11:41:35.687 24804-24804/m.ex.as.myTemp E/InputEventReceiver﹕ Exception dispatching input event. 
09-10 11:41:35.690 24804-24804/m.ex.as.myTemp E/MessageQueue-JNI﹕ Exception in MessageQueue callback: handleReceiveCallback 
09-10 11:41:35.706 24804-24804/m.ex.as.myTemp E/MessageQueue-JNI﹕ java.lang.NullPointerException: Attempt to invoke virtual method 'float android.view.MotionEvent.getX()' on a null object reference 
      at android.view.View.onTouchEvent(View.java:9485) 
      at android.support.design.widget.CoordinatorLayout.onTouchEvent(CoordinatorLayout.java:449) 
      at android.view.View.dispatchTouchEvent(View.java:8547) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2400) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2093) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050) 
      at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2372) 
      at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1722) 
      at android.app.Activity.dispatchTouchEvent(Activity.java:2742) 
      at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60) 
      at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60) 
      at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2333) 
      at android.view.View.dispatchPointerEvent(View.java:8742) 
      at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4136) 
      at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4002) 
      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3557) 
      at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3610) 
      at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3576) 
      at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3693) 
      at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3584) 
      at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3750) 
      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3557) 
      at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3610) 
      at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3576) 
      at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3584) 
      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3557) 
      at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5823) 
      at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5797) 
      at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5768) 
      at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5913) 
      at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 
      at android.os.MessageQueue.nativePollOnce(Native Method) 
      at android.os.MessageQueue.next(MessageQueue.java:143) 
      at android.os.Looper.loop(Looper.java:195) 
      at android.app.ActivityThread.main(ActivityThread.java:5373) 
      at java.lang.reflect.Method.invoke(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:372) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815) 
09-10 11:41:35.706 24804-24804/m.ex.as.myTempD/AndroidRuntime﹕ Shutting down VM 
09-10 11:41:35.711 24804-24804/m.ex.as.myTemp E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    Process: m.ex.as.myTemp, PID: 24804 
    java.lang.NullPointerException: Attempt to invoke virtual method 'float android.view.MotionEvent.getX()' on a null object reference 
      at android.view.View.onTouchEvent(View.java:9485) 
      at android.support.design.widget.CoordinatorLayout.onTouchEvent(CoordinatorLayout.java:449) 
      at android.view.View.dispatchTouchEvent(View.java:8547) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2400) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2093) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050) 
      at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2372) 
      at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1722) 
      at android.app.Activity.dispatchTouchEvent(Activity.java:2742) 
      at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60) 
      at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60) 
      at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2333) 
      at android.view.View.dispatchPointerEvent(View.java:8742) 
      at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4136) 
      at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4002) 
      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3557) 
      at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3610) 
      at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3576) 
      at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3693) 
      at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3584) 
      at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3750) 
      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3557) 
      at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3610) 
      at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3576) 
      at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3584) 
      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3557) 
      at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5823) 
      at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5797) 
      at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5768) 
      at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5913) 
      at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 
      at android.os.MessageQueue.nativePollOnce(Native Method) 
      at android.os.MessageQueue.next(MessageQueue.java:143) 
      at android.os.Looper.loop(Looper.java:195) 
      at android.app.ActivityThread.main(ActivityThread.java:5373) 
      at java.lang.reflect.Method.invoke(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:372) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815) 

обратите внимание, что я получаю такую ​​же Erorr:

android.view.MotionEvent.getX() 

в моем проекте в NavigationView, когда я Туш на краю экрана для открытия меню, откройте его немного медленно, и останавливаться на достигнутом , но если я открою его быстро, все будет в порядке. pn: пока я просто создаю ontouchListner для обработки касания, но каждый знает, что это не ответ.

ответ

0

Это была ошибка в библиотеке дизайна 23.0.0, и даже я столкнулся с аналогичной проблемой. Теперь он исправлен, хотя в последней версии 23.0.1. Вы должны перейти на это. Другим обходным решением для устранения сбоя является использование следующего кода.

collapsingToolbar.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       return true; 
      } 
     }); 

issue зарегистрирован здесь.

+0

О, tnx человек, я знаю о 23.0.1 для обновления. – mil