Вопрос
Я пытаюсь использовать кнопку для удаления первой записи в моей базе данных. Я думал, что у меня был правильный код, но он, кажется, не удаляет какие-либо данные, когда нажата кнопка удаления, android настроен так, как этот метод onClick
: -
public void delete(View view)
{
datasource.open();
datasource.deleteTitle(0);
datasource.close();
}
метод удаления, который он вызывает - вот этот метод: -
public boolean deleteTitle(long rowId)
{
return db.delete(DATABASE_TABLE, KEY_ROWID +
"=" + rowId, null) > 0;
}
Есть ли другой способ, которым я должен делать это?
Кнопка настроена так: -
<Button
android:id="@+id/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Delete First"
android:onClick="delete"/>
Я использую встроенный onClick
, чтобы перейти к методу, который я хочу. Я использую это в других частях приложения, и это работает просто отлично.
Решение:
Из принятого ответа я взял в нем код и создал вызов в именах классов DatabaseHelper, которые сначала удаляют. Код, который я использовал, был: -
public void deleteFirst()
{
Cursor cursor = db.query(DATABASE_TABLE, null, null, null, null, null, null);
if(cursor.moveToFirst()) {
long rowId = cursor.getLong(cursor.getColumnIndex(KEY_ROWID));
db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null);
}
}
и затем я изменил код, который я дал выше:
public void delete(View view)
{
datasource.open();
datasource.deleteFirst();
fillData();
datasource.close();
}
с методом fillData()
, обновляющим представление.