Так что для моего андроид приложения, я хочу, чтобы обновить строку данных, которые я первоначально введенную через стандартные методы ниже, находятся в пределах одного класса, который простирается SQLiteOpenHelper:Как обновить запись в 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)). –