Fragment内でFragmentを定義したレイアウトXMLをinflateしようとしたのですが、下記のような例外が発生。
java.lang.IllegalArgumentException: Binary XML file line #67: Duplicate id 0x7f050008, tag null, or parent id 0x0 with another fragment for HistoryListFragment
原因が良く分からなかったのでグーグル先生に聞いてみると以下のスレッドを発見。
Fragments within Fragments
どうやら去年の時点ではFragment内にFragmentを配置することはサポートされていないようです。そんな使い方は推奨しないということでしょうか。
なんでそんな事をしたかというと、ViewPager内にFragmentPagerAdapterを使ってListFragmentを表示していたのですが、固定ヘッダが表示したくなったんですよね。
元のListFragmentをいじりたくなかったので、固定ヘッダとListFragmentを持つFragmentを作って、そのFragmentをFragmentPagerAdapterに渡すようにしました。
その結果、上記例外発生となりました。
ListFragmentを普通のFragmentに置き換えるしかないんですかねー。面倒だ。
0 件のコメント:
コメントを投稿