Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.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
通过从数据库中删除listview项,Android_Android - Fatal编程技术网

通过从数据库中删除listview项,Android

通过从数据库中删除listview项,Android,android,Android,好的,我已经建立了一个应用程序,就像一个余数,每件事都可以正常工作,但当点击删除,首先删除了错误的行,然后现在甚至不工作 我现在有很多相同的答案来回答这个问题,我发誓我会尝试我找到的每一个 有件事我不知道 主活动中的此代码: lvEvent.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(A

好的,我已经建立了一个应用程序,就像一个余数,每件事都可以正常工作,但当点击删除,首先删除了错误的行,然后现在甚至不工作

我现在有很多相同的答案来回答这个问题,我发誓我会尝试我找到的每一个

有件事我不知道

主活动中的此代码:

lvEvent.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {


            db.deleteEvent(id);

            return true;
        }
    });

还有一个用于填充列表视图的适配器。

可能您将错误的
COLUMN.Id
传递给
deleteEvent
方法
long id
是在ListView行创建过程中动态单击创建的项目的行id(而不是单击项目的位置)

因此,您需要将
位置
传递到
删除事件
方法:

        db.deleteEvent(position);

db是什么类型的对象?您可能还想发布列表视图的自定义适配器。谢谢,它现在可以工作了,但是它删除了关于我按下的第二行@GAOS:调试您的代码单击第一项或单击第二项时,
位置的值是多少?您可能需要通过
(位置-1)
我认为OP不能依靠
位置
从DB中删除该项。每次删除后,所有项目的相对位置值都会改变。@Rohit5k2:是,OP需要将自定义位置分配给db中的每一列以识别记录对不起,OP是什么意思?
        db.deleteEvent(position);