所以對於我的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))。 –