在我的应用程序中使用基本适配器中的列表视图。
当我点击项目时,其id存储在共享首选项字符串数组格式中。如何以字符串数组格式保存多个项目ID [1,2,5,6]喜欢这个....
提前感谢...
答案 0 :(得分:10)
您也可以尝试使用JSONArray
,因为JSON也是light-weight
,您可以创建JSONArray
并将其作为字符串写入SharedPreference。
要写,
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
JSONArray jsonArray = new JSONArray();
jsonArray.put(1);
jsonArray.put(2);
Editor editor = prefs.edit();
editor.putString("key", jsonArray.toString());
System.out.println(jsonArray.toString());
editor.commit();
要阅读,
try {
JSONArray jsonArray2 = new JSONArray(prefs.getString("key", "[]"));
for (int i = 0; i < jsonArray2.length(); i++) {
Log.d("your JSON Array", jsonArray2.getInt(i)+"");
}
} catch (Exception e) {
e.printStackTrace();
}
答案 1 :(得分:4)
如果您使用的是API 11,则可以使用putStringSet
。否则,您可以将字符串数组转换为@hotverispicy提到的单个字符串,也可以使用SQLite数据库
答案 2 :(得分:3)
您可以通过,
(逗号)分隔符将其保存为字符串,并在获取时使用split()
string toPut="";
toPut += "listItem,";
在SharePreference
和commit()
要在数组中获得相同的内容:从SharePreference
获取 prefString
String[] fetchArray= prefString.split(",");