实施"添加到收藏夹"来自cardview android中的图标

时间:2015-06-25 09:52:23

标签: android android-fragments android-activity sharedpreferences

在我的应用中,在我的cardview中添加到收藏夹图标。点击图标后,我的卡片应添加到我的收藏夹列表,图标应切换为其他颜色。

再次点击它应该从我的收藏夹中删除。我想通过共享偏好完成这项任务。

我应该如何顺序完成这项任务?

1 个答案:

答案 0 :(得分:0)

  1. 希望你完成所有布局。如果不是 - 创建它们。确保收藏夹是ToggleButton
  2. 为ListView或RecyclerView创建适配器
  3. 在内部适配器中,绑定视图时,请调用:

        findViewById(R.id.btn_favourite).setOnClickListener(new View.OnClickListener() {
        public void OnClick(View view) {
            if(view.isSelected) {
                 markAsFavourite(item);
            } else {
                 removeFromFavourites(item);
            }
        }
        });
    

    其中item是表示列表数据的对象

  4. 实施markAsFavourite(item);和removeFromFavourites(item);方法。以下是markAsFavourite(item)使用SharedPreferences的粗略示例。

        Set itemIds = mSharedPreferences.edit().getStringSet(KEY, new Set());
        itemIds.put(item.getId);
        mSharedPreferences.edit().putStringSet(itemIds).commit();
    
  5. 更新收藏夹ListView中的数据。

  6. 5.1从SharedPreferences获取项目ID

    5.2根据ids选择项目的子列表。

    5.3为FavouritesList更新适配器。