【问题标题】:Implement "Add to favourites" from icon in cardview android从cardview android中的图标实现“添加到收藏夹”
【发布时间】:2015-06-25 09:52:22
【问题描述】:

在我的应用中,添加到收藏夹图标位于我的卡片视图中。单击图标后,我的卡片应添加到我的收藏夹列表,并且图标应切换为不同的颜色。

再次点击它应该会从我的收藏夹中删除。我想通过 sharedpreference 来完成这个任务。

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

【问题讨论】:

  • 您只需将图像放在您想要的卡片视图中,然后根据需要在该图像上编写代码单击。这可能会帮助你androidtutorialmagic.wordpress.com/…
  • 我想知道整个过程,如何声明共享偏好、模型、适配器的类以及如何切换图像。
  • 你检查那个链接吗?
  • SO 不是编码服务。您需要自己编写代码。如果您遇到任何问题,请带着具体问题来这里,我们很乐意为您提供帮助。
  • 是的,我确实检查了该链接。因此,我对布局没有任何问题。我只想知道如何实现该功能。

标签: android android-fragments android-activity sharedpreferences


【解决方案1】:
  1. 希望您已完成所有布局。如果没有 - 创建它们。确保收藏夹是一个切换按钮
  2. 为您的 ListView 或 RecyclerView 创建适配器
  3. 在 Adapter 内部,当你绑定视图时,调用:

    findViewById(R.id.btn_favourite).setOnClickListener(new View.OnClickListener() { 公共无效 OnClick(查看视图){ 如果(view.isSelected){ 标记为最爱(项目); } 别的 { 从收藏夹中删除(项目); } } });

    item 是表示列表数据的对象

  4. 实现markAsFavourite(item);和removeFromFavourites(item); 方法。这是一个使用 SharedPreferences 的markAsFavourite(item) 的粗略示例。

    设置 itemIds = mSharedPreferences.edit().getStringSet(KEY, new Set()); itemIds.put(item.getId); mSharedPreferences.edit().putStringSet(itemIds).commit();
  5. 更新收藏列表视图中的数据。

5.1 从 SharedPreferences 中获取项目 ID

5.2 根据ids选择Item的子列表

5.3 更新收藏夹列表的适配器。

【讨论】:

  • 谢谢。我只是想要这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多