【问题标题】:How to get the Save State after App is Restarted?App重启后如何获取保存状态?
【发布时间】:2020-02-29 10:35:54
【问题描述】:

我正在尝试在 RecyclerView 适配器中实现一个切换按钮(收藏夹)

当我点击 ToggleButton 时,它被成功收藏并再次点击取消收藏,但问题是即使重新启动应用程序,我如何才能在本地保存此状态。

这是我的模型类:

 int toggled = R.drawable.ic_star_red_24dp;
    int untoglled = R.drawable.ic_star_border_black_24dp;
    boolean isFavorite = false;
public int getToggled() {
        return toggled;
    }

    public int getUntoglled() {
        return untoglled;
    }


    public void setFavorite(boolean favorite) {
        isFavorite = favorite;
    }

    public boolean isFavorite() {
        return isFavorite;
    }
 

这是我的切换按钮 OnClick() 的适配器代码:

holder.favorite.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (newsModel.isFavorite)
                newsModel.setFavorite(false);
            else
                newsModel.setFavorite(true);
            notifyItemChanged(position);
        }
    });

还有这个:

  if (newsModel.isFavorite())
        holder.favorite.setBackgroundResource(newsModel.getToggled());
    else
        holder.favorite.setBackgroundResource(newsModel.getUntoglled());

现在,我如何保存状态?

【问题讨论】:

  • 您可以将值保存在任何本地数据库(如 SQLite 或 Room)中,并在应用重新启动时检索它。
  • 我该怎么做?请提供一些代码

标签: android android-recyclerview android-togglebutton


【解决方案1】:

我建议您通过以下任一方式持久化模型数据:

  1. Room Persistence Library
  2. Realm for Android
  3. SQLite

【讨论】:

  • Google 上有很多教程。我分享的链接也提供了代码 sn-ps。
猜你喜欢
  • 2020-09-06
  • 2016-08-14
  • 1970-01-01
  • 1970-01-01
  • 2016-04-06
  • 1970-01-01
  • 1970-01-01
  • 2019-11-14
  • 1970-01-01
相关资源
最近更新 更多