2014-11-18 24 views
11

tıklandığında kilitlenme geçişler Android 5.0 uygulamasında uygulamamdaki bir düğmeyi tıklattığınızda, uygulama aşağıda gösterilen logcat ile kilitleniyor. Logcat, kodumu herhangi bir yerde referans göstermiyor ve bu anahtar önceki tüm sürümlerde iyi çalıştı. Anahtar, arka plan rengi dışında görünmez görünür ve yalnızca bir kez tıklandığında kilitlenir.Android 5.0

Test ettikten sonra, setOnCheckedChangeListener işlevini tanımlayıp tanımlamam da aynı şey olur. Düğme düzende olsa bile, hiçbir zaman kodda olmasa bile, tıklandığında hala çökecektir.

söz konusu anahtarların biri: burada

<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"/> 

Ve bunu başvuru nasıl.

// 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) 
+0

Yalnızca geçiş görünümünü xml olarak tanımlar ve etkinlikte kodla ilgili herhangi bir değişiklik yapmazsanız aynı hata geldi mi? –

+1

bir göz atın, Android 5.0 ile ilgili hatayı https://code.google.com/p/android-developer-preview/issues/detail?id=1704 – Ishtiaq

+0

Good catch @Aafaq –

cevap

1

Sadece başparmak ve parçayı değiştirmek anahtar için görüntüler.

+1

Bunu neye değiştiriyoruz? – Ahmed

0

Temsili dosyadaki temayı değiştirmek benim için çalıştı. tema =: i android vardı "@ android: tarzı/Theme.NoTitleBar"

ve
android içine değiştirildi: tema = "@ android: tarzı/Theme.DeviceDefault"

aynı ile karşı karşıya
+0

5.0.2 ile aynı sorun. NoTitleBar tema değiştirici ile bozuk = ( –

0

Android 5.0.2 ile Sony tabletinde sorun - Etkinlik stili NoTitleBar/FullScreen olduğunda, kilitleme uygulamanızı değiştir.

Benim için gayet iyi olan, FullScreen modunu manifest içinde değil kodda ayarlamaktır.

View decorView = getWindow().getDecorView(); 
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; 
decorView.setSystemUiVisibility(uiOptions); 

Bir şeyleri kirletmezsem, sonuçlar, usuall ile aynıdır, ancak çakışma olmadan.