来自listview的Android SavePreferences

时间:2011-11-10 21:23:16

标签: android listview sharedpreferences

我正在尝试从ListView保存首选项,使用以下代码我可以保存EditText中的值:

etpref = (EditText) findViewById(R.id.etpreftest);
SavePreferences("testpr", etpref.getText().toString());

然后我用

检索它
SharedPreferences sp = PreferenceManager
         .getDefaultSharedPreferences(context);
         String strtestpr = sp.getString("testpr", null);

if (strtestpr.contains(body)) {
    //do something
}

我需要做的是保存ListView中的项目的值并以相同的方式使用它们(如果可能的话)。我知道可以使用此代码从列表中保存单个项目/行,但这没有帮助。

1 个答案:

答案 0 :(得分:0)

您使用什么数据结构来支持Listview?你使用什么适配器类型?您应该能够使用该适配器所需的任何内容吗?例如,如果它是一个ArrayAdapter,每次用户编辑列表中的内容时,都应立即将新值保存回数组。这样你就可以随时检索它们。

至于将它们存储在共享首选项中,您无法将数组存储在SharedPreferences中。最好的办法是将它们保存到数据库中。但是,如果您不关心字符串存储的顺序,或者它们是否映射到任何内容,您可以使用putStringSet()