java - 如何在android中使用数据库明智地删除数据ID而不是位置

标签 java android database android-recyclerview

我使用了recyclerView并且列表中的人员丢失了,我可以单击删除按钮来删除ID并更新数据库中的状态。
数据不是位置明智的,我可以删除位置明智的数据删除到下一个 Activity 中的概率 我是 Android 编程新手


删除代码

private class onSelectListener implements View.OnClickListener {

    int mPosition;

    public onSelectListener(int position) {
        mPosition = position;
    }

    @Override
    public void onClick(View view) {
        DataBaseHelper db = new DataBaseHelper(mContext);
        People people = alertList.get(mPosition);
        db.updateStatus(people.getId(), "0");
        alertList.remove(mPosition);
        notifyItemRemoved(mPosition);
        notifyItemRangeChanged(mPosition, alertList.size());

    }
}

我的数据库

 public int updateStatus(String peopleId, String status) {
    SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(STATUS, status);
    return sqLiteDatabase.update(TABLE_PEOPLE, values, ID + "=?",
            new String[]{peopleId});
}

最佳答案

用这个,

alertList.remove(alertList.indexOf(ID));

这将首先获取 ID 拳头的位置,然后将其从该位置删除。

关于java - 如何在android中使用数据库明智地删除数据ID而不是位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40238113/

相关文章:

ruby-on-rails - 类似 Rails 的数据库迁移?

java - 如何调整代码以使用两个参数而不是一个参数?

java - boolean 'if' 语句不起作用

java - Jsoup解析html页面中的特定图像

android - 如何在 Flutter 中直接调用电话

php - Laravel 表关系

java - 仅在线程完成后继续

java - 向 MyBatis @Select 传递参数

android - 如何给抽屉导航的菜单项上色?

java.sql.SQLException : No suitable driver found for jdbc:mysql://localhost:3306/database