- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 1 个 viewpager,有 2 个主要页面,收藏夹。两者都有 RecyclerViews,无限滚动,在 15 个项目之后它从服务器加载另外 15 个等等。我想实现一个选项,将 recyclerView 中的项目添加到收藏夹并刷新两个 recyclerView。如果添加了它们,我可以将它们添加到收藏夹或删除它们。我已经实现了这个并且它工作得很好。
问题是,如果我将项目添加到收藏夹,它不会刷新其他 RecyclerView。我有一个想法,每次我从收藏夹中添加或删除时,另一个 fragment 都会重新启动,因此它会从服务器请求另一个查询,而您只需将它们加载到回收器 View 中即可。它有效,但你总是被放在最前面,这不是一个好的用户体验。您可以打开项目并获取有关该项目的更多信息,并且可以将它们添加到该 Activity 中的收藏夹中。所以当我从那个 Activity 回来时,一切都保持不变,就像你没有将它们添加到收藏夹一样。但实际上你做到了。
我不知道如何解决这个问题:/其他人从服务器询问另一个查询,并将其加载到 RecylerView 中。如果我没有实现无限滚动,我可能可以共享两边的项目,但我必须有无限滚动,太多的数据会被浪费。
这是我的 RecyclerView 适配器的样子:
customViewHolder.llLike.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String fontAwesomeFullHeart = mContext.getString(R.string.fa_heart);
final String getLikeText = customViewHolder.tvPicLike.getText().toString();
if (getLikeText == fontAwesomeFullHeart) {
MyFunctions.showNotToFavoriteHeart(mContext, customViewHolder.tvPicLike, customViewHolder.tvLike);
API_Network_Service.serverRemoveFromFavorites(mContext, feedItem.getId(), logged_in, customViewHolder.tvPicLike);
} else {
MyFunctions.showFavoriteHeart(mContext, customViewHolder.tvPicLike, customViewHolder.tvLike);
API_Network_Service.serverAddToFavorites(mContext, feedItem.getId(), logged_in, customViewHolder.tvPicLike);
}
}
});
这是来自 API_SERVICE_CLASS:
public static void serverAddToFavorites(final Context mContext, String apartment_id, RealmUser_Personal user, final TextView tvLike) {
String user_id = user.getId();
HashMap<String, String> map = new HashMap<>();
map.put("user_id", user_id);
HashMap<String, Object> mapMeta = new HashMap<>();
mapMeta.put("meta", map);
mapMeta.put("entry_id", apartment_id);
final ApiUporabnik apiService = ApiClient.getAPIUser().create(ApiUporabnik.class);
Call<FavoriteAdd> saveFavorite = apiService.favoriteAdd(API_KEY, mapMeta);
saveFavorite.enqueue(new Callback<FavoriteAdd>() {
@Override
public void onResponse(Call<FavoriteAdd> call, Response<FavoriteAdd> response) {
Log.d("Saved FAV", "");
//TODO Refresh item everywhere
}
@Override
public void onFailure(Call<FavoriteAdd> call, Throwable t) {
Log.e("E: Failed FAV", t.toString());
tvLike.setText(mContext.getString(R.string.fa_heart_o));
}
});
}
有什么想法、建议、解决方案吗?
最佳答案
如果我是你,我会执行以下步骤:
1- 创建一个数据库,其中包含收藏夹的 Id
。
2- 在您的主页中,adapter
检查是否添加到数据库中,像这样:
database.isFavoriteItems(Your_Items_ID);
3- 当点击最喜欢的Button
时,如果Not 存在于Database
中,则将新项目添加到Database
如果以前添加过,请将其删除。
if(database.isFavoriteItem(Your_Items_ID)){
database.addToFavorite(Your_Items_ID);
} else {
database.removeFromFavorite(Your_Items_ID);
}
4- 当您滚动到 fragment 中的收藏夹列表时调用 notifyDataSetChanged
内部:
@Override
public void setUserVisibleHint(boolean visible){
super.setUserVisibleHint(visible);
if (visible){
adapter.notifyDataSetChanged();
}
}
5- 也让你的数据库 Singleton 真的值得推荐。
通过这些步骤,您的问题将得到解决。
关于android - 将项目保存为 "Favorite"并在其他回收站 View 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39055231/
Eclipse 在哪里存储有关“运行收藏夹”或“调试收藏夹”的信息? 最佳答案 这些存储在文件 launchConfigurationHistory.xml 中在工作区 .metadata/.plug
我想创建一个通用函数,用于从符合 NSObject 和 NSCoding 协议(protocol)的 UserDefaults 中获取元素。但是当我想使用那个函数时,我得到了这个错误 func
我正在尝试获取收藏夹中的所有产品并像用户登录一样显示它们,收藏夹中的该产品将显示为收藏夹,否则他可以将它们添加到收藏夹。 这是我的 Controller $products = ( new Produ
我有 phpMyAdmin 版本 4.8.5。如何将表格添加到“收藏夹”?当我在文档中搜索它时,它返回 french entry ,我不明白。 最佳答案 法语条目完全无关,与您的问题无关。 要将 ta
我有一个使用 MySQL 作为存储的 PHP 应用程序。该应用程序提供多种服务(例如游轮和酒店),我想实现收藏夹。 我不知道如何让它变得简单。最愚蠢的方法是为每个服务创建两个不同的收藏夹表,或者将它们
我们正在5个Webshare网站上更改URL,以便它们仅响应HTTPS和FQDN请求。 我们很多用户的收藏夹中都有“内部”链接,当我们更改URL时,这些链接会中断。 我需要一种方法来打开每个“收藏夹”
我目前正在构建一个应用程序,您可以使用它创建歌词播放列表并将其缓存以供离线使用。您还可以缓存您的收藏夹(JSON 数组)。 现在,由于收藏夹已缓存 - 添加收藏夹 按钮在客户端不起作用。是的,它确实在
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this qu
我很难为我的应用正确实现“Collection 夹”功能。在对象列表中移动,用户应该能够选中/取消选中某个 Collection 项。一旦 Activity 进入 onPause(); 状态,它应该保
在 Google Code 中有一个收藏夹列表。如何将项目添加到我的收藏夹列表? 最佳答案 以上答案不正确。您可以为项目“加注星标”(在项目主页的左上角,在边栏中),这会将其添加到您的收藏夹列表中,而
我正在编写一个引导脚本来自动执行新开发人员 Mac 计算机的一些设置。到目前为止,我已经能够使用 brew cask 从命令行安装 SP: brew cask install sequel-pro 然
我想用一些“最喜欢的”静态方法集合配置 Eclipse,但不使用静态导入。 例如,如果我在 Window » Preferences » Java » Editor » Content Assist
我想访问 iPhone 的“收藏夹”号码(可以在“电话”应用程序中找到的号码)。我在地址簿中搜索了每个联系人的特定属性,甚至查看了地址簿数据库,但我无法确定数据库中的哪个属性或字段指示哪些是最喜欢的号
我正在使用 Drupal 构建一个网站。在每个页面的标题上,我希望有一个图像(由我自定义设计),它将充当自定义的“添加到收藏夹”按钮。单击图像应将网站的 URL 添加到用户浏览器的收藏夹(书签)中。这
我正在尝试创建一个超链接,单击该超链接会提示用户将当前页面添加到浏览器的收藏夹中。 我一直找不到这个问题的明确答案,或者不到 7 年前发布到互联网上仍然有效的答案。 这是怎么做到的? 最佳答案 I h
我一直在为这个问题困惑一段时间,似乎无法想出一个好的解决方案。我很想听听人们的想法(或者如果有人知道现有的解决方案)让我描述一下这个问题。 最终目标是在运行我们的算法并对结果进行排序后,在数据集中找到
现在在数据库中,我有一个Members 表和一个Products 表,以及一个连接Favorites 表,该表由来自Members 和 Products 表。我需要限制成员(member)可以在 5
我正在使用 Drupal 构建网站。在每个页面的标题上,我希望有一个图像(由我定制设计),它可以作为一个定制的“添加到收藏夹”按钮。单击图像应将网站的 URL 添加到用户浏览器的收藏夹(书签)中。这应
我正在关注 Apple 的 Safari Web Content Guide - Configuring Web Applications并且它大部分时间都按预期工作。但是当我想在 iPhone 上添
我有 1 个 viewpager,有 2 个主要页面,收藏夹。两者都有 RecyclerViews,无限滚动,在 15 个项目之后它从服务器加载另外 15 个等等。我想实现一个选项,将 recycle
我是一名优秀的程序员,十分优秀!