我在第一个活动上有一个列表视图(使用自定义 CursorAdapter、CursorLoader 和 ContentProvider),当用户单击列表行时,它会打开另一个第二个活动,用户可以在其中删除此项。当他选择删除时,数据库中的表中的行被删除(使用 ContentProvider)和第二个活动完成()。但是第一个活动仍然显示旧内容。
我认为随着 ContentProvider 携带和 CursorLoader 获取每个数据库更新、删除和插入,我在第一个 Activity 上的列表视图应该显示没有删除行的新列表。但它仍然在这里。
之前,我通过 requery() 方法或通过其他方法在 onRestart() 中传递给 CursorAdapter 和 ListView 的数据被更改。
我很困惑我应该怎么做才能在第一个活动的 ListView 中显示删除后的实际数据?
也许我应该使用
loaderManager.restartLoader(LOADER_ID, null, mCallbacks);
? 在 onRestart() 中,但为什么呢?