【发布时间】:2017-02-19 22:57:48
【问题描述】:
我正在开发一个 SQLite 数据库。我创建了一个表,其架构为:名称、图像、isselected。
消息的初始状态为 0。
我正在使用数据库上的setStatus() 方法更新按钮单击的状态。
但是状态没有改变。
我想单击一次按钮并将状态设置为 1,然后再次单击以将状态重新设置为 0。
setStatus()函数如下图所示:
public int setStatus(People people) {
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues values = new ContentValues();
people.setStatus(1);
values.put(STATUS, people.getStatus());
return sqLiteDatabase.update(TABLE_PEOPLE, values, ID + "=?",
new String[]{String.valueOf(people.getId())});
}
我的按钮点击事件
btnBuildNow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
peopleListSelected = new ArrayList<>();
for (People people : peopleList) {
if (people.getStatus()==1) {
db.setStatus(people);
peopleListSelected.add(people);
}
}
if (peopleListSelected.size() > 0) {
Intent intent = new Intent(BulidActivity.this, AlertList.class);
intent.putExtra("arrayList", (Serializable) peopleListSelected);
startActivity(intent);
}
}
});
【问题讨论】:
-
您是否先在 TABLE_PEOPLE 中添加了带有 "id=" + ISSELECTED 的行?
-
你在哪里设置
ISSELECTED? -
不,我没有添加行,仅更改按钮单击@Serg中的状态
-
静态数据集 ISSELECTED=0 @Fildor
-
如果表中没有 id=0 的行,update 找不到要更新的内容。在您的应用程序/活动中的某处,您必须创建并填充表格。请出示此代码。
标签: java android sqlite arraylist android-sqlite