在 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
歡迎轉載,請註明出處。
沒有留言:
張貼留言