gpt4 book ai didi

Android Cursor RecyclerView 在滑动时轻弹

转载 作者:行者123 更新时间:2023-12-03 18:14:50 25 4
gpt4 key购买 nike

我想在我的回收站 View 中实现可滑动的项目。

我正在使用一个自定义回收器适配器,其中填充了一个加载器( Github link here )和一个用于滑动的自定义监听器( Github link here )。

数据使用 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);
}

我认为这个 flash 是由于动画比 swipeItem(position) 方法执行得更快,但我不太确定。

在这一点上,任何帮助都将非常感激,在此先感谢。

最佳答案

显然,我已经设法找到解决方案。
使用 Federico Ponzi 在 this question 中提供的 Wrapper .

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

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

不确定它是否足够清楚,我的英语肯定没有帮助。

关于Android Cursor RecyclerView 在滑动时轻弹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28928668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com