简体   繁体   中英

How to get the Save State after App is Restarted?

I am trying to Implement a toggle button (Favorite) in the RecyclerView adapter

As i click on the ToggleButton, it is successfully favorited and clicking again unfavorites as well, BUT the problem is how can I save this state locally even after app is restarted.

Here is my Model Class :

 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;
    }
 

Here is my Adapter code for OnClick() of toggle Button :

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

ALso this :

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

Now, How do i save the state ?

I would suggest you to persist the model data by either of the following ways:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM