在我的应用中,在我的cardview中添加到收藏夹图标。点击图标后,我的卡片应添加到我的收藏夹列表,图标应切换为其他颜色。
再次点击它应该从我的收藏夹中删除。我想通过共享偏好完成这项任务。
我应该如何顺序完成这项任务?
答案 0 :(得分:0)
在内部适配器中,绑定视图时,请调用:
findViewById(R.id.btn_favourite).setOnClickListener(new View.OnClickListener() { public void OnClick(View view) { if(view.isSelected) { markAsFavourite(item); } else { removeFromFavourites(item); } } });
其中item
是表示列表数据的对象
实施markAsFavourite(item)
;和removeFromFavourites(item);
方法。以下是markAsFavourite(item)
使用SharedPreferences的粗略示例。
Set itemIds = mSharedPreferences.edit().getStringSet(KEY, new Set()); itemIds.put(item.getId); mSharedPreferences.edit().putStringSet(itemIds).commit();
更新收藏夹ListView中的数据。
5.1从SharedPreferences获取项目ID
5.2根据ids选择项目的子列表。
5.3为FavouritesList更新适配器。