所以我有一个包含三列[ id | name | badgeID ]
的表。
我使用recyclerview显示数据,一切正常。我希望添加更新名称的可能性,当用户单击列表中某个项目的编辑按钮时,它可以完美地工作。现在我希望用户也可以编辑他们的badgeID
。
我使用了与名称更新相同的逻辑和代码,但它不起作用!在编辑后,我在日志中打印了数据库行及其值,并显示了新编辑的名称,但是显示了相同的badgeID?!
DBHelper Class
// with this I edit the name and works fine!
public boolean updateName(long rowId, String newName) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues args = new ContentValues();
args.put(COLUMN_ID, rowId);
args.put(COLUMN_NAME, newName);
return db.update(TABLE_WORK_APP, args, COLUMN_ID + "=" + rowId, null) > 0;
}
// this for editing the badgeID and It doesn't works :(
public boolean updateBadgeID(long rowId, int badgeId) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues args = new ContentValues();
args.put(COLUMN_ID, rowId);
args.put(COLUMN_BADGE_ID, badgeId);
return db.update(TABLE_WORK_APP, args, COLUMN_ID + "=" + rowId, null) > 0;
}
活动类
// works fine;
public void updateName(String nameNew, int position) {
db.updateQuote(dbList.get(position).get_id(), nameNew);
dbList.clear();
dbList.addAll(db.getDataFromDB());
mAdapter.notifyDataSetChanged();
Toast.makeText(getActivity(), "Name updated.!", Toast.LENGTH_SHORT).show();
}
// not working!
public void updateBadgeID(int badgeIdNew, int position) {
db.updateBadgeID(dbList.get(position).get_id(), badgeIdNew);
dbList.clear();
dbList.addAll(db.getDataFromDB());
mAdapter.notifyDataSetChanged();
Toast.makeText(getActivity(), "badgeID updated.!", Toast.LENGTH_SHORT).show();
}