所以对于我的Android应用程序,我想更新数据行,我最初是通过标准方法进入下面是扩展SQLiteOpenHelper类中:如何在没有entryId的情况下更新SQLiteOpenHelper中的条目?
public boolean insert(String name, int quantity, double price){
ContentValues contentValues = new ContentValues();
contentValues.put(DatabaseContract.Table.COLUMN_NAME_NAME, name);
contentValues.put(DatabaseContract.Table.COLUMN_NAME_QUANTITY, quantity);
contentValues.put(DatabaseContract.Table.COLUMN_NAME_PRICE, price);
long result = db.insert(DatabaseContract.Table.TABLE_NAME, null, contentValues);
if (result == -1)
return false;
else
return true;
}
public void updateData(int id, String name, int quantity, double price){
ContentValues contentValues = new ContentValues();
contentValues.put(DatabaseContract.Table.COLUMN_NAME_ID, id);
contentValues.put(DatabaseContract.Table.COLUMN_NAME_NAME, name);
contentValues.put(DatabaseContract.Table.COLUMN_NAME_QUANTITY, quantity);
contentValues.put(DatabaseContract.Table.COLUMN_NAME_PRICE, price);
db.update(DatabaseContract.Table.TABLE_NAME, contentValues, "ID = ?", new String[]{Integer.toString(id)});
}
在我的实际活动,我有名字数量和价格我想改变,但当我不知道任意条目的“id”时,我对如何去做这件事感到困惑。
在此先感谢。
你在哪里调用'了updateData()'?数据是否在ListView中?如果是这样,你可以使用[Adapter.getItemId()](https://developer.android.com/reference/android/widget/Adapter.html#getItemId(int))。 –