Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 光标不删除';我不能像预期的那样工作_Android - Fatal编程技术网

Android 光标不删除';我不能像预期的那样工作

Android 光标不删除';我不能像预期的那样工作,android,Android,我有一个“回收器”视图,使用“撤消”按钮实现了“滑动删除”。因此,当我离开活动时,我必须删除所有挂起的删除项目。 我采用以下方法: public void removeAllPendingRemoval() { isOnScreen = false; for (int i = 0; i < mPendingRunnables.size(); i++) { long id = mPendingRunnables.keyAt(i); Runnab

我有一个“回收器”视图,使用“撤消”按钮实现了“滑动删除”。因此,当我离开活动时,我必须删除所有挂起的删除项目。 我采用以下方法:

public void removeAllPendingRemoval() {
    isOnScreen = false;
    for (int i = 0; i < mPendingRunnables.size(); i++) {
        long id = mPendingRunnables.keyAt(i);
        Runnable pendingRemovalRunnable = mPendingRunnables.get(id);
        mHandler.removeCallbacks(pendingRemovalRunnable);
        removeById(id);
    }
    notifyDataSetChanged();        
}

private void removeById(long id) {
    Uri uriWithId = Uri.withAppendedPath(mContentUriWithTable, String.valueOf(id));
    mContext.getContentResolver().delete(uriWithId, null, null);
    mPendingRunnables.remove(id);
    if (isOnScreen) {
        int position = getPositionById(id);
        notifyItemRemoved(position);            
    }
}

但这看起来真的很糟糕。我该如何处理这个问题?

我想您的表格内容在第一次通话时就被成功删除了。。。你搬家的活动可能会保留你的旧价值观。。尝试刷新您的活动我的新活动会从同一个表中进行查询,因此,如果所有操作都与delete一起正常工作,则不会出现问题。它可能会与旧数据管理一起恢复。。。检查一下
@Override
protected void onPause() {
    mAdapter.removeAllPendingRemoval();
    mAdapter.removeAllPendingRemoval();
    super.onPause();
}