我正在尝试从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中的项目的值并以相同的方式使用它们(如果可能的话)。我知道可以使用此代码从列表中保存单个项目/行,但这没有帮助。
答案 0 :(得分:0)
您使用什么数据结构来支持Listview?你使用什么适配器类型?您应该能够使用该适配器所需的任何内容吗?例如,如果它是一个ArrayAdapter,每次用户编辑列表中的内容时,都应立即将新值保存回数组。这样你就可以随时检索它们。
至于将它们存储在共享首选项中,您无法将数组存储在SharedPreferences中。最好的办法是将它们保存到数据库中。但是,如果您不关心字符串存储的顺序,或者它们是否映射到任何内容,您可以使用putStringSet()。