SharedPreferences#getStringSet()で取得したSetに変更を加えてはいけない。
Setに変更を加えた状態(removeしたりしてた)で、他のところで同じSetを取得しようとすると、空のSetが返ってきたりしていた。
解決してから気づいたが、公式に書いてあった(^^;; コピーしてから変更しよう。
Set<String> set = preferences.getStringSet("some_key", null);
HashSet<String> copy = new HashSet<>(set);
参考: SharedPreferences | Android Developers


コメント