2014-12-08 2 views
1

Привет, ребята Я использую переключатель, созданный из кода вместо xml. Но только в android 5.0 я получаю эту ошибку в другой версии, ее отлично работает.Ошибка в переключении в android 5.0

12-08 08:48:30.417: E/InputEventReceiver(31006): Exception dispatching input event. 
12-08 08:48:30.417: E/MessageQueue-JNI(31006): Exception in MessageQueue callback: handleReceiveCallback 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.drawable.Drawable.getPadding(android.graphics.Rect)' on a null object reference 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.widget.Switch.hitThumb(Switch.java:694) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.widget.Switch.onTouchEvent(Switch.java:711) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.View.dispatchTouchEvent(View.java:8388) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2314) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1692) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.app.Activity.dispatchTouchEvent(Activity.java:2739) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2275) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.View.dispatchPointerEvent(View.java:8578) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4021) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3887) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3502) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3468) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3578) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3476) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3635) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3502) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3468) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3476) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5701) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5675) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5646) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5791) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.os.MessageQueue.nativePollOnce(Native Method) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.os.MessageQueue.next(MessageQueue.java:143) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.os.Looper.loop(Looper.java:122) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at android.app.ActivityThread.main(ActivityThread.java:5223) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at java.lang.reflect.Method.invoke(Native Method) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at java.lang.reflect.Method.invoke(Method.java:372) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
12-08 08:48:46.449: E/MessageQueue-JNI(31006): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
12-08 08:48:55.673: E/ACRA(31006): ACRA caught a NullPointerException exception for com.sa.appinboxtest. Building report. 
+0

Установите непустой палец вытяжку. – alanv

+0

Кроме того, это было исправлено в нашей внутренней ветке. Однако он всегда будет разбит на API 21, поэтому вам все равно понадобится извлечь ненулевое число. Подумайте об использовании чего-либо другого, кроме Switch, если вам не нужен большой палец. – alanv

+0

Как установить ненулевой большой палец? Извините, что я новичок в android, поэтому вы можете мне помочь в этом. –

ответ

1

Это ошибка, сообщенная Android. Если вы хотите исправить этот вопрос добавить ниже свойств для переключения

android:thumb="@drawable/my_thumb_icon" 
android:track="@drawable/my_track_icon" 

это будет работать ниже 5.0 также

для справки

+0

ОК, но я создал несколько других демо, и в этом коммутаторе работает нормально, но только в этом проекте он не отображается правильно. Это может быть тема темы. и да, я создал переключатель из кода не из xml. –

+1

Нет, это не проблема темы, это ошибка Android 5.0. Сообщается об ошибке, и они были приняты. для справки перейдите по этой ссылке https://code.google.com/p/android-developer-preview/issues/detail?id=1704 – sandeepmaaram

+0

что это такое my_thumb_icon и my_track_icon? – Shadow