【发布时间】:2015-10-07 14:16:43
【问题描述】:
所以我在主要活动中有一些共同的偏好:
SharedPreferences prefs = this.getSharedPreferences("myFavs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
我添加了一些生成的字符串作为键值对:
editor.putString(saved,saved);
editor.apply();
在另一个活动中,我希望能够将我保存在共享首选项文件中的所有键值对显示到 ListView 中。
我使用过类似的东西:
ListView listView = (ListView) findViewById(R.id.favsList);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.listlayout, android.R.id.text1, values );
listView.setAdapter(adapter);
之前,但是我不确定如何将我所有的共享首选项转换为可以放入 ListView 的格式。
PS 我应该提到我只需要一个键或值的列表,因为键和值总是相同的。
我认为这可能解决了我的问题:
SharedPreferences prefs = getSharedPreferences("myFavs", 0);
Map<String, String> m = (Map<String, String>) prefs.getAll();
List<String> list = new ArrayList<>(m.values());
这对吗?
【问题讨论】:
-
你试过
SharedPreferences.getAll() -
你需要逐行查看日志。它会帮助你
标签: java android listview sharedpreferences