こんにちは、すべてのレコードがデータベースからリストビューに表示されるデータベース アプリケーションを作成しています。ユーザーがリストビューで選択したアイテムを長押しすると、リストビューから表示する必要があります。各アイテムに ID を追加し、リストビューの問題から選択した ID でアイテムを削除しています。アイテムが削除され、新しいアイテムを挿入すると、IDが増加し、リストビューで選択したアイテムと一致しません。事前に助けてください...
リストビューでのユーザー長押しのコードは次のとおりです
list.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
View v=findViewById(R.id.groupList);
//activity.openContextMenu(v);
helper.deleteName((arg2+1));
c.requery();
return true;
}
});
ここにデータベースからアイテムを削除するロジックがあります
class DatabaseHelper{
public void insertGroup(String name){
db.execSQL("insert into GroupNames (names) values('"+name+"')");
}
public Cursor selectAll(){
return db.rawQuery("select * from GroupNames", null);
}
public String getName(Cursor c){
return c.getString(0);
}
public void deleteName(int i){
c.moveToPosition(i);
db.execSQL("delete from GroupNames where _id="+i);
}
}