所以我在我的主要活動有一定共享偏好:獲取共享偏好,並在列表視圖中顯示它們
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的格式。
P.S我應該提到我只是真的需要一個鍵或值的列表作爲鍵和值總是相同的。
我想這可能是解決我的問題:
SharedPreferences prefs = getSharedPreferences("myFavs", 0);
Map<String, String> m = (Map<String, String>) prefs.getAll();
List<String> list = new ArrayList<>(m.values());
這是正確的嗎?
你有沒有試過'SharedPreferences .getAll()' – Emil
你需要用Log逐行檢查它。它會幫助你 – iroiroys