sqlite db からデータを取り込むリストビューがあります。リストビューのアイテムをクリックすると、リストビュー アイテムの詳細を示す新しいページに移動します。そのページには削除ボタンがあり、クリックするとリストビューとデータベースからアイテムが削除されます。
どうすればそれが可能ですか?
sqlite からリストビューにデータを入力する場合、sqlite テーブルのレコードのレコード ID を配列に入力します。その配列から選択したレコード ID をリストビューの詳細ページに渡します。次に、削除ボタンの onClick で、sqlite からレコードを削除し、データベースからリストビューを再描画します。
ソリューション:
1. First solution:
ユーザーがlistViewアイテムをクリックすると、次のアクティビティアイテムの位置が送信され、アイテムの詳細アクティビティが表示されます。ユーザーが削除を押した場合、ユーザーがlistViewアクティビティに戻ると、この位置をlistViewアクティビティに戻します。ここで、この項目を削除して listView を更新する必要があるよりも、位置が「はい」かどうかを確認します。
listViewAdapter.remove(listViewAdapter.getItem(position));
listViewAdapter.notifyDataSetChanged();
For send data to detail Activity and for give data from detail
Activity use onActivityResult method, see more information:
2. Second solution:
Application クラスを作成して Application を拡張し、それを使用します。作成
int selectedItemPosition
boolean itemDeleted
Application クラスのフィールド。ユーザーがアイテムをクリックすると、このアイテムの位置をこのフィールドに設定し、itemDeleted 値を false に設定します。ユーザーが Detail アクティビティの [削除] ボタンをクリックすると、itemDeleted 値を true に設定する必要があり、ユーザーが listView アクティビティに戻ると、常に itemDeleted 値を確認して true の場合、このアイテムを削除し、listView を更新します。