У меня есть способ добавить избранное из списка поиска.
Этот код позволяет нажимать на просмотр списка и вызывать прослушиватель соответственно, если это поиск в просмотре списка или просмотр списка просмотра mytour.
holder.imgaddFavourite.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (tourList.get(position).getFav().equalsIgnoreCase("0")) {
listener.onFavourited(tourList.get(position), true);
holder.imgaddFavourite.setImageResource(R.drawable.faved);
} else {
listener.onFavourited(tourList.get(position), false);
holder.imgFavourite.setImageResource(R.drawable.not_faved);
}
}
});
Ниже приведен код для mytourList, который отлично работает:
@Override
public void onFavourited(final Tour tour, final boolean fav) {
new SetFavourite(new SetFavourite.OnFavouriteSet() {
@Override
public void onFavouriteSet(Boolean response) {
int index = listTour.indexOf(tour);
tour.setFav(fav ? "1" : "0");
listTour.set(index, tour);
}
}, fav).execute(tour.getId(), application.getUser().getUid());
}
Этот код сохраняется в избранном состоянии и не вызывает проблем.
Ниже приведен мой код для добавления избранного в список элементов поиска.
public void onFavourited(final Tour tour, final boolean fav) {
int index = searchOptions.getSearchedTours().indexOf(tour);
tour.setFav(fav ? "1" : "0");
searchOptions.getSearchedTours().get(index).setFav(fav ? "1" : "0");
searchOptions.getSearchedTours().set(index, tour);
}
Я могу нажать и добавить егов избранное, но если я открою другую вкладку и снова открою этот список, состояние будет потеряно.Я думаю, это потому, что это не спасает государство в глобальном масштабе.Я искал похожие ответы, но ни один из них не помог.Любая помощь будет оценена.