私は現在メモ帳のチュートリアルを行っており、exercise 2はメモを削除するコードを完成させています。しかし、私はこれがどう機能するのかちょっと混乱しています。Androidノートパッドのチュートリアルで行の削除機能はどのように機能しますか?
public boolean onContextItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case DELETE_ID:
AdapterContextMenuInfo info =
(AdapterContextMenuInfo) item.getMenuInfo();
mDbHelper.deleteNote(info.id);
fillData();
return true;
}
return super.onContextItemSelected(item);
}
運動状態:ここに関連するコードです。この」idフィールドは、[AdapterContextMenuInfo]オブジェクトは、ListViewコントロールに私たちの項目の位置を伝える私たちは、その後、私たちのNotesDbAdapterのdeleteNote()メソッドにこれを渡します。メモは削除されます。
データベース定義を見ると、データベースに新しく追加された行/注釈のIDフィールドは、自動インクリメント番号によって自動的に生成されます。したがって、IDの1,2,3,4の4つのノート(ゼロのインデックスが付いているかどうかわからない!)を2番目のノートを削除すると、1,3,4のIDが残っていてもいけませんか?つまり、最後のメモ(リストの3番目のレコードですが、元の4番目のインデックスは削除されています)を削除すると、index = 3の行が削除されますか?または、行が削除されたときに行が自動再索引付けされますか?
最後に、携帯電話でアプリケーションのデータベースを閲覧/閲覧できますか?
ああ、ありがとう。したがって、戻される行IDは、ビューの物理的な配置ではなく、データベースの行IDです。したがって、リストのどこに行があるかは問題ではありません(どのように実装されると思いますか) –
ええ。別のフィールド、 'position'はリスト/アダプタ内の実際の位置を持っています。 – dmon