Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ListPreference抛出NullPointerException_Java_Android_Android Preferences - Fatal编程技术网

Java ListPreference抛出NullPointerException

Java ListPreference抛出NullPointerException,java,android,android-preferences,Java,Android,Android Preferences,我有一个偏好: <ListPreference android:entries="@array/frequencies" android:entryValues="@array/frequencies_values" android:key="pref_key_frequencies" android:summary="@string/frequency_pref_summary" android:ti

我有一个偏好:

    <ListPreference
        android:entries="@array/frequencies"
        android:entryValues="@array/frequencies_values"
        android:key="pref_key_frequencies"
        android:summary="@string/frequency_pref_summary"
        android:title="@string/frequency_pref_title" />
如果我检查数组
frequencyListPreference.getEntryValues()
中某个元素的值,则该值始终为空


我做错了什么?

据我所知,Android只接受字符串数组而不是整数

改变

<integer-array name="frequencies_values">
    <item>300</item>
    <item>600</item>
    <item>900</item>
    <item>1200</item>
    <item>1800</item>
    <item>3600</item>
</integer-array>

300
600
900
1200
1800
3600


300
600
900
1200
1800
3600
在从首选项读取的代码中,使用Integer.parseInt()将值转换为可用的整数


有关更多详细信息,请参见以下内容:

您在哪里创建了frequencyListPreference对象?在我的片段上,使用frequencyListPreference=(ListPreference)findPreference(“pref_key_frequencies”);好的,我最近使用了ListPreference进行了一些检查:1)是否在onCreate addPreferencesFromResource(R.xml.preferences)中执行了此操作;2) 在活动中,您是否执行了以下操作:getFragmentManager().beginTransaction().replace(android.R.id.content,new MyPreferencesFragment()).commit();我有4个其他的首选项,工作刚刚好,然后我不知道你的代码有什么问题
<integer-array name="frequencies_values">
    <item>300</item>
    <item>600</item>
    <item>900</item>
    <item>1200</item>
    <item>1800</item>
    <item>3600</item>
</integer-array>
    java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference
<integer-array name="frequencies_values">
    <item>300</item>
    <item>600</item>
    <item>900</item>
    <item>1200</item>
    <item>1800</item>
    <item>3600</item>
</integer-array>
<string-array name="frequencies_values">
    <item>300</item>
    <item>600</item>
    <item>900</item>
    <item>1200</item>
    <item>1800</item>
    <item>3600</item>
</string-array>