2015年8月14日 星期五

Android-Switch can't use on Android 5.0 up

各位大大是否有以下的情形
在 5.0 以下手機開發的時候 Switch 元件沒問題
但 5.0 以上手機只要被觸發
就直接 java.lang.NullPointerException: Attempt to invoke virtual method......

如果問題是以下的連結,那就是本文的主旨 :
Switch Widget if not providing any drawable crash application

簡單的說,官方避免惡意的設計。

Before
一般我們直接拖曳生成的

<Switch
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:id="@+id/switch"/>

Switch switch_door = (Switch)dialog.findViewById.....

-------------------------------------------------------

After

但在 Android5.0 是無法被正常運作的
必須更改為

<android.support.v7.widget.SwitchCompat
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:id="@+id/switch"/>

SwitchCompat switch_door = (SwitchCompat)dialog.findViewById.....

使用方法大同小異
如果要更進階的請參考 : 連結

參考資料 : Switch crashes when clicked on Android 5.0

歡迎轉載,請註明出處。

沒有留言:

張貼留言