0
我有喜歡的列表;Android SparseArray刪除
private static SparseArray<MFavori> liste = new SparseArray<>();
而我存儲這個sharedpreferencefiles;
myactivity()
.getSharedPreferences("favori", Context.MODE_PRIVATE)
.edit()
.putString(String.valueOf(key), new Gson().toJson(value))
.apply();
但是,當我我最喜愛的名單上刪除對象保存sharedpreference後。加載後,然後我顯示刪除鍵(因爲稀疏陣列刪除代碼不刪除鍵),並且此鍵具有空值> {} ...
我調試我的應用程序,我顯示此;
之前刪除sparsearray-i顯示了兩個鍵和兩個值(正常)
但是當我刪除的對象在我的收藏夾列表-i顯示了這幅畫;
liste.remove(keyID);
此代碼後刪除值,但我顯示已存儲的密鑰。爲什麼?它爲我,因爲問題的時候保存這個名單與負荷後GSON i顯示了空數據{},但有鍵,以便其對我的問題..
索裏我的英文不好..
在調用remove()時keyID是什麼?你能展示更多的代碼嗎?我很難理解你想要做什麼。 –
在第一個列表中有兩個項目10391和10392.當我刪除id> list.remove(10392);並調試我顯示第二個屏幕。 10392鍵已經存儲但值刪除(鍵不刪除)。 – kibar
讓你的物品按這個ID排序很重要嗎?如果沒有,你可以使用一個HashMap來代替它,它可能更適合這種用途? –