El interruptor se bloquea cuando se hace clic en Android 5.0
Al hacer clic en un conmutador en mi aplicación en Android 5.0, la aplicación se bloquea con el logcat que se muestra a continuación. El logcat no hace referencia a mi código en ninguna parte de él, y este cambio ha funcionado bien en todas las versiones anteriores. El interruptor aparece invisible excepto el color de fondo y sólo se bloquea una vez que se hace clic en.
Después de las pruebas, lo mismo sucede si defino una función setOnCheckedChangeListener o no. Incluso si el conmutador está en el diseño, pero nunca en el código, se bloqueará cuando se hace clic en.
- Android java.lang.RuntimeException: No se puede instanciar la actividad ComponentInfo ... java.lang.NullPointerException
- Android get La barra de acción de soporte siempre devuelve NULL
- Cámara Android: archivo vacío en el método onActivityResult
- Error al entregar el resultado ResultInfo {who_null, request = 1, result = -1, data = Intent {(tiene extras)}} a la actividad; NullPointerException
- Manera correcta de manejar la advertencia de pelusa de NullPointerException de Android Studio
Uno de los interruptores en cuestión:
<Switch android:layout_width="90dp" android:layout_height="wrap_content" android:textOff="Airborn" android:textOn="Direct Contact" android:textAppearance="?android:attr/textAppearanceMedium" android:id="@+id/switchWind"/>
Y aquí es cómo lo hago referencia.
// Doesn't actually matter since same thing happens without this Switch sWind = (Switch) findViewById(R.id.switchWind); sWind.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton v, boolean isChecked) { // Won't reach here } });
Logcat:
11-17 22:09:18.722 30190-30190/com.egondev.android.patientzerotest E/InputEventReceiver﹕ Exception dispatching input event. 11-17 22:09:18.722 30190-30190/com.egondev.android.patientzerotest E/MessageQueue-JNI﹕ Exception in MessageQueue callback: handleReceiveCallback 11-17 22:09:18.735 30190-30190/com.egondev.android.patientzerotest E/MessageQueue-JNI﹕ java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.drawable.Drawable.getPadding(android.graphics.Rect)' on a null object reference at android.widget.Switch.hitThumb(Switch.java:694) at android.widget.Switch.onTouchEvent(Switch.java:711) at android.view.View.dispatchTouchEvent(View.java:8388) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2314) at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1692) at android.app.Activity.dispatchTouchEvent(Activity.java:2739) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2275) at android.view.View.dispatchPointerEvent(View.java:8578) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4021) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3887) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3502) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3468) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3578) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3476) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3635) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3502) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3468) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3476) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5701) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5675) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5646) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5791) 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:122) at android.app.ActivityThread.main(ActivityThread.java:5221) 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:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 11-17 22:09:18.735 30190-30190/com.egondev.android.patientzerotest D/AndroidRuntime﹕ Shutting down VM 11-17 22:09:18.736 30190-30190/com.egondev.android.patientzerotest E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.egondev.android.patientzerotest, PID: 30190 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.drawable.Drawable.getPadding(android.graphics.Rect)' on a null object reference at android.widget.Switch.hitThumb(Switch.java:694) at android.widget.Switch.onTouchEvent(Switch.java:711) at android.view.View.dispatchTouchEvent(View.java:8388) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2430) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119) at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2314) at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1692) at android.app.Activity.dispatchTouchEvent(Activity.java:2739) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2275) at android.view.View.dispatchPointerEvent(View.java:8578) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4021) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3887) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3502) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3468) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3578) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3476) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3635) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3502) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3468) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3476) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3449) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5701) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5675) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5646) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5791) 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:122) at android.app.ActivityThread.main(ActivityThread.java:5221) 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:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
- Actividad onNewIntent Excepción de puntero nulo
- Facturación en aplicaciones v3 imposible de consultar elementos sin conexión de red o en modo avión / vuelo
- No se puede iniciar el servicio con null
- En la facturación de aplicaciones v3 NullPointerException
- ¿Cómo desactivar la interacción con los vídeos html5 en webview o capturar correctamente sus excepciones?
- Reciclar vista - java.lang.NullPointerException
- Fragmentos androides getArguments () return null
- Usando secciones con fragmentos, NullPointerException
Parece un problema conocido en Android 5.
Por favor, consulte el siguiente enlace:
https://code.google.com/p/android-developer-preview/issues/detail?id=1704
Simplemente cambie el pulgar y las imágenes de pista para el interruptor.
Cambiar el tema en archivo de manifiesto funcionó para mí. Tuve android: theme = "@ android: style / Theme.NoTitleBar"
Y lo cambió en
Android: theme = "@ android: style / Theme.DeviceDefault"
Me enfrenté con el mismo problema en la tableta de Sony con Android 5.0.2 – interruptor de bloqueo de mi aplicación cuando el estilo de actividad es NoTitleBar / FullScreen.
Lo que funcionó bien para mí, es configurar el modo FullScreen en el código y no dentro del manifiesto.
View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; decorView.setSystemUiVisibility(uiOptions);
Si no ensucia algo, los resultados son los mismos que usuall, pero sin caída.
- Crea una aplicación para Android que actúa como acceso directo a nuestro sitio para móviles
- El botón de Android Studio Run no hace nada