最初のアクティビティにリストビューがあり (カスタムの CursorAdapter、CursorLoader、および ContentProvider を使用)、ユーザーがリスト行をクリックすると、ユーザーがこのアイテムを削除できる別の 2 番目のアクティビティが開きます。DELETE を選択すると、データベース内のテーブルの行が削除され (ContentProvider を使用)、2nd Activity の finish() が実行されます。ただし、最初のアクティビティにはまだ古いコンテンツが表示されます。
ContentProvider が実行され、CursorLoader がすべての DB の更新、削除、および挿入を取得すると、最初のアクティビティのリストビューには、その削除された行のない新しいリストが表示されるはずだと思いました。しかし、それはまだここにあります。
以前は、requery() メソッドによって、またはデータが変更された onRestart() で CursorAdapter と ListView に渡す他のメソッドを使用して、この変更を取得していました。
削除後に最初のアクティビティの実際のデータのみを ListView に表示するにはどうすればよいか混乱しましたか?
私は使うべきかもしれません
loaderManager.restartLoader(LOADER_ID, null, mCallbacks);
? onRestart() で、しかしなぜですか?