【发布时间】:2014-03-14 00:01:16
【问题描述】:
我正在尝试按如下方式使用 SharedPreferences
在数组.xml 中:
<resources>
<string-array name="empty_array"/>
<string-array name="baseLayers">
<item>Normal</item>
<item>Hyrbid</item>
<item>Satellite</item>
<item>Terrain</item>
</string-array>
<integer-array name="baseLayerValues">
<item>1</item>
<item>4</item>
<item>2</item>
<item>3</item>
</integer-array>
...
然后在偏好中:
<PreferenceCategory android:title="MAPS" >
<ListPreference
android:entries="@array/baseLayers"
android:entryValues="@array/baseLayerValues"
android:key="baseLayer"
android:title="Base Layer" />
...
但当我尝试使用设置菜单选择新选项时出现异常:
java.lang.NullPointerException
at android.preference.ListPreference.onDialogClosed(ListPreference.java:264)
at android.preference.DialogPreference.onDismiss(DialogPreference.java:390)
at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1233)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4950)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
at dalvik.system.NativeStart.main(Native Method)
关于我可能做错的任何想法?在这种情况下是否可以使用整数数组作为值数组?
【问题讨论】:
-
哇,只有字符串。看起来是很多人都在努力解决的老问题。谢谢!