我已将 SharedPreferences 添加到我HomeActivity.java
的 ,以便为购物车保存 ID。这是我为它初始化的代码HomeActivity.java
,它是启动器活动:
SharedPreferences cartItems = getSharedPreferences("AddedItems", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = cartItems.edit();
if (cartItems.getStringSet("AddedItems", null) == null){
Set<String> cart = new HashSet<String>();
editor.putStringSet("AddedItems", cart);
editor.apply();
} else {
Set<String> cart = cartItems.getStringSet("AddedItems", null);
}
如您所见,应该检查是否cartItems.getStringSet("AddedItems", null)
存在的代码。如果确实存在,则将其设置cart
为 的内容cartItems.getStringSet("AddedItems", null)
,但如果不存在,则将其定义cart
为新的HashSet<String>
并将其添加到cartItems
SharedPreferences。
出于某种原因,它可能认为cartItems.getStringSet("AddedItems")
它等于 null,因此每次打开应用程序并且未保存购物车中的 ID 时它都会重置它。
这就是我将 ID 添加到 SharedPreferences 的方式:
HomeActivity.cart.add(productId);
HomeActivity.editor.putStringSet(HomeActivity.AddedItems, HomeActivity.cart);
HomeActivity.editor.apply();
我该如何解决这个问题,所以cartItems.getStringSet("AddedItems")
每次打开应用程序时它都不会重置?