当前位置: 首页 > 知识库问答 >
问题:

RecyclerView和GetItemId

公羊涛
2023-03-14

我正在使用RecyclerViewItemTouchHelper实现一个刷卡删除。在我的onsweed函数中,我调用我的服务来删除带有API请求的元素,但为此我需要适配器给我元素的id。我重写了适配器的getItemId()函数

@Override
public long getItemId(int position) {
   return dataSet.get(position).getId();
}

但是,当我使用它在我的onS的函数

@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
     AddBaseService addBaseService = AddBaseService.sharedInstance();
     long baseId = viewHolder.getItemId(viewHolder.getAdapterPosition());
     addBaseService.deleteBase(String.valueOf(baseId));

我在getAdapterPosition行中遇到一个错误

getItemId() in ViewHolder cannot be applied to (int)

虽然getAdapterPoplace应该返回一个int:/

共有2个答案

王佐
2023-03-14

我想是持票人。getItemId()需要long而不是int

钮实
2023-03-14

编辑:

这里有两个链接可以帮助您解决问题:

  • Android类BaseAdapter中的getItem和getItemId方法的目的是什么

OP used:适配器。getItemId(viewHolder.getAdapterPosition()) 而不是viewHolder。getItemId()来解决他的问题。

 类似资料:
  • 我在SwipeRefreshLayout中使用了新的回收视图布局,遇到了一个奇怪的行为。当将列表滚动回顶部时,有时顶部的视图会被打断。 如果我现在尝试滚动到顶部,将触发拉刷新。 如果我尝试删除回收器视图周围的滑动刷新布局,问题就会消失。并且可以在任何手机上复制(不仅仅是L-Preview设备)。 这就是我的布局——行是由RecycleServiceAdapter(此列表中有2种视图类型)动态构建的

  • 我正在使用Glide在我的应用程序中加载图像,我正在使用它来显示一些图像中的回收人员视图项目。 这是我的适配器回收器视图: 一切都很好,除了当项目从窗口分离时,或者更好地说,当项目不可见时,位图或ImageViews的Drawable不会从内存中删除。 在滚动1分钟后,我的内存出现异常。 如您所见,我正在使用<code>Glide。clear()方法解决此问题,但它不起作用。 关于这个问题的任何建

  • 简要说明:我对java或android studio不是很有经验,所以请直接回答我的noobish问题。 我正在做一个有RAL颜色片段的项目。总共只有280多张图片。我正在尝试为此片段创建一个recyclerView。为了避免这个问题比实际问题长出几英里,我删去了ralfragment中的一些颜色。 我希望颜色的布局如下所示: 我看了一些教程(没有一个是在片段中使用rv的),并试图将它们实现到我的

  • 问题内容: 我一直在尝试使用此处的少量指导,使用RecyclerView实现CollapsingToolbar:http : //android-developers.blogspot.co.uk/2015/05/android-design-support- library.html 和项目此处:https : //github.com/chrisbanes/cheesesquare,我目前具有

  • 关于 RecyclerView 集成库使你在你的应用中能够使用 RecyclerViewPreloader ,它可以在用户滑动 RecyclerView 时自动加载稍微超前一些的图片。 配合使用正确的图片尺寸和高效率的磁盘缓存策略,这个库可以显著减少用户滑动图片列表时看到的加载指示器的数量。 Gradle 依赖 要使用 RecyclerView 集成库,在你的 build.gradle 文件中添加

  • 描述 动态 View 的滚动组件,用于大量数据列表场景。在 Weex 下是对 list 与 cell 的包装,它通过内部子组件复用提升了滚动列表的性能。 安装 $ npm install rax-recyclerview --save 属性 属性 类型 默认值 必填 描述 支持 onEndReachedThreshold number 500 ✘ 设置加载更多的偏移 onEndReached fu