閉じる

LayoutManager android.support.v7.widget.GridLayoutManager@XXXX is already attached to a RecyclerView: android.support.v7.widget.RecyclerView@YYYY

RecyclerViewを FragmentTabHostに仕込んで使ってみると、タブを切り替えたときに件の例外で落ちる。
onCreateViewにて setLayoutManagerを呼び出しているのだけど、LayoutManagerは毎回作るのではなく使い回すようにしていた。
エラーの内容から考えて onDestroyViewにて setLayoutManager(null)としてみた。
今度は RecyclerView内部の終了処理的なところで落ちるようになった。
次に setLayoutManager(new LinearLayoutManager(context))とダミーの LayoutManagerを食わせるようにしてみたら落ちなくなった。
最終的に LayoutManagerは毎回作成するようにして、onDestroyViewの処理は行わないことにしたけど、何が正解なんだろう?

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)