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

Android Cursor RecyclerView在滑动时做了一个轻拂

刘运浩
2023-03-14

我想在我的回收器视图中实现可切换项目。

我使用的是一个自定义的回收器适配器,其中填充了一个加载器(这里是Github链接)和一个用于刷卡的自定义侦听器(此处是Github链接)。

数据用SQLite存储在本地,并通过调用过滤游标来检索。

我认为我在实现上做错了什么,因为当我尝试滑动时,我的回收器项目像“闪烁”了很短时间,然后消失了。

除了这个奇怪的行为,一切都很好。

这是我从数据库中删除该项目的方法:

public void swipeItem(int position) {
    mDatabase.open();
    String cursor_string = recyclerFilter.getText().toString();
    final Cursor filterCursor = mDatabase.fetchVisible(cursor_string);
    filterCursor.moveToPosition(position);
    int pID = filterCursor.getColumnIndex("_id");
    final String iD = filterCursor.getString(pID);
    mDatabase.deleteItem(iD);

    getLoaderManager().restartLoader(MAIN_LOADER_ID, null, mCallbacks);
}

我认为这是因为动画的执行速度比swipeItem(position)方法快,但我不太确定。

在这一点上,任何帮助将非常非常感谢,提前感谢。

共有1个答案

欧阳嘉
2023-03-14

显然,我已经设法找到了解决这个问题的方法。使用费德里科·庞兹在这个问题中提供的包装器。

在我的滑动侦听器中,我调用了一个AsyncTask类,该类直接在后台的光标上执行删除工作,然后在PostExecute上,我调用getLoaderManager.restartLoader(...);

同时,我设置了一个临时CursorWrapper来显示我的新数据。一旦AsyncTask完成他的工作,getLoaderManager就会在我的主活动中被调用,我的回收器视图会获得带有新数据的新适配器

不确定是否足够清晰,我的英语也帮不上忙。

 类似资料:
  • h5页面嵌套在app里 怎么做用手指滑动列表时,数据跟着上下滑动? 页面用vue写的,不用第三方的框架或者插件 求一个能用手滑动的例子 初始化的时候 transform: translate(0px, 0px) translateZ(0px); 每向上或者向下滑动时,数据跟着滑动

  • 使用css属性scroll-behavior来将其设置为平滑非常容易,所以为什么我在网上看到使用Jquery和库来做同样的事情,而使用css您可以在一行代码中完成这些事情呢?

  • 我有一个自定义的滑出菜单实现(不使用任何库),在其中我向右滑动布局,并在左侧显示菜单(就像脸书,谷歌应用程序一样)。显示菜单后,我通过给出一些alpha值来淡化右侧布局,如下面的代码所示: 但是这一切都发生在我的菜单显示时。我想要的是,当布局向右滑动时,我想使它变暗。布局从左边缘越远,布局就越暗。此外,我使用以下代码进行布局动画,将布局向右滑动。 当布局向右滑动时,我如何使其褪色/变暗?

  • 我做了一个简单的排序函数,但由于某种原因,它仍然返回原始列表。

  • 问题内容: 我正在制作一个具有几个用于输入数字等的UIButtons的计算器应用程序。我希望用户能够触摸一个按钮,如果这不是预期的按钮,则将手指移至另一个按钮并在内部进行触摸那个。用户用手指按下的按钮应更改背景颜色,以向用户指示正在发生的事情,就像苹果内置在计算器应用程序中的按钮一样。 我尝试通过使用内部/外部的触摸拖动以及按钮上的触摸拖动的输入/退出来做到这一点,但是它仅适用于触摸起源的按钮。意

  • 在第一个窗口row_number1到4中,新的秩(新列)将是 在第一个窗口row_number5到8中,新的秩(新列)将是 在第一个窗口中,Row_Number9要Rest,新的秩(新列)将是 但这给了我: 此外,尝试了。rowsbetween(-3,0)但这也给我带来了错误: