このバグを再現することはできませんでしたが、この問題が発生したことでクラッシュ レポートが細流になっています。リストアダプターにヌルチェックを追加すると修正されると思いましたが、まだ発生しています。私は何が欠けていますか?
完全なスタックトレース: http://pastebin.com/Q6GwDU7Q
public void onLoaderReset(Loader<Cursor> loader) {
final int id = loader.getId();
switch (id) {
case LOADER_ID1:
if (mAdapter != null)
mAdapter.changeCursor(null); //Line 512 where stacktrace references
break;
case LOADER_ID2:
//Other code here
break;
default:
throw new InvalidParameterException("id=" + id);
}
}
mAdapter は onActivityCreated で初期化されますが、これを入力しているときに解放しないことに気付きました。おそらく onDetach で実行する必要がありますか? mAdapter は、ListFragment によって設定された ListView にアタッチされます。そして、アダプターのカーソルを null に設定して、リストをクリアします。そうです、私は何を見落としていますか?