【问题标题】:Checkbox in a custom adapter to update the database自定义适配器中的复选框以更新数据库
【发布时间】:2015-05-26 17:17:48
【问题描述】:

我正在尝试获取我在自定义适配器中为列表创建的复选框,以便在单击它时更新数据库。我在 customAdapter 内的复选框上实现了 onclicklistener(下面的代码)。我还添加了一个 Toast 来检查它是否有效。问题是 Toast 为每一行显示正确的信息(我单击的项目的名称);但是数据库没有得到更新。

 datasource = new MySQLiteHelper((AssTasksActivity) context);

    CB.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Task Ta = task; //Task is an object with a separate class that is stored in the sqlite db.

            if(CB.isChecked()){
                Ta.setState(0);
                datasource.updateTask(Ta);
                //Toast T;
                Toast.makeText(context, Ta.getTaskName(),
                        Toast.LENGTH_LONG).show();
            }
            else{

                Ta.setState(1);
                datasource.updateTask(Ta);
                Toast.makeText(context, Ta.getTaskName(),
                        Toast.LENGTH_LONG).show();
            }
        }
    });

这里是更新的sqlite代码

public int updateTask(Task task){
        SQLiteDatabase database = this.getWritableDatabase();
        ContentValues values = new ContentValues();

        values.put(MySQLiteHelper.T_COLUMN_TASK_ID, task.getId());
        values.put(MySQLiteHelper.T_COLUMN_TASKNAME, task.getTaskName());
        values.put(MySQLiteHelper.T_COLUMN_DESCRIPTION, task.getDescription());
        values.put(MySQLiteHelper.T_COLUMN_STATE, task.getState());
        values.put(MySQLiteHelper.T_COLUMN_PK, task.getAssignmentId());
        values.put(MySQLiteHelper.T_COLUMN_ERROR_DESCRIPTION, task.getErrorDescription());

        return database.update(TABLE_TASKS, values, T_COLUMN_ROWID + " = ?",
                new String[] { String.valueOf(task.getId()) });
    }

【问题讨论】:

标签: android sqlite checkbox android-sqlite baseadapter


【解决方案1】:

return 语句中的 T_COLUMN_ROWID 应该是 T_COLUMN_TASK_ID。愚蠢的错误。

【讨论】:

    猜你喜欢
    • 2015-01-25
    • 2014-03-20
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多