Java 从活动中填充ListPreference内容

Java 从活动中填充ListPreference内容,java,android,listpreference,Java,Android,Listpreference,我试图从活动中填充我的ListPreference,而不是将数组存储在xml中。然而,我发现这个问题。我可能设置了错误的偏好。我有权访问我的ListPreference,但是动态填充我似乎无法获得的内容。我已经看过这篇文章了。但我似乎无法从中找到答案 我正试图用对象列表中的字符串占据ListPreference 这就是我到目前为止所做的: protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav

我试图从活动中填充我的ListPreference,而不是将数组存储在xml中。然而,我发现这个问题。我可能设置了错误的偏好。我有权访问我的ListPreference,但是动态填充我似乎无法获得的内容。我已经看过这篇文章了。但我似乎无法从中找到答案

我正试图用对象列表中的字符串占据ListPreference

这就是我到目前为止所做的:

    protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);
    SharedPreferences settings = getSharedPreferences(LUAS_TIMES_PREF, 0);

    ListPreference lp = (ListPreference)findPreference("station_pref");

}
不多,但我如何用我自己的列表填写此列表首选项


提前感谢。

应该简单到:

lp.setEntries(new String [] {"A Man", "A Plan"}); // set displayed text
lp.setEntryValues(new String [] {"a_man", "a_plan"}); // set associated values 

根据需要推断:)

为什么不想将首选项列表存储在XML中?我有一个JSON对象的原始资源,可以读入并填充一个列表。然后,我想使用该列表占据ListPreference,因此如果用户有启动应用程序显示默认对象的首选项,它将显示。谢谢,问题似乎更深层次。如果这是在LogCat:06-21 13:13:27.515:ERROR/AndroidRuntime(605):java.lang.IllegalStateException:ListPreference需要一个entries数组和entryValues数组,我能做什么呢?