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