Android フラグメント ID のビューが見つかりませんか? 質問する

Android フラグメント ID のビューが見つかりませんか? 質問する

ビューに追加しようとしているフラグメントがあります。

FragmentManager fragMgr=getSupportFragmentManager();
feed_parser_activity content = (feed_parser_activity)fragMgr
                                    .findFragmentById(R.id.feedContentContainer);
FragmentTransaction xaction=fragMgr.beginTransaction();

if (content == null || content.isRemoving()) {
    content=new feed_parser_activity(item.getLink().toString());
    xaction
        .add(R.id.feedContentContainer, content)
        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
        .addToBackStack(null)
        .commit();
    Log.e("Abstract", "DONE");
}

このコードを実行すると、デバッグで次のエラーが発生します。

java.lang.IllegalArgumentException: No view found for id 0x7f080011 
   for fragment feed_parser_activity{41882f50 #2 id=0x7f080011}

feed_parser_activityは、xml でフラグメント レイアウトに設定されているフラグメントです。
を保持するフラグメント レイアウトをホストするために FragmentActivity を使用していますfeed_parser_layout
上記のコードは正しく記述されていますか?

ベストアンサー1

私もこの問題を抱えていましたが、 FragmentActivity メソッドsetContentView()で間違ったレイアウトを指定していたことに気付きました。onCreate()

FragmentTransaction.add()あなたの場合、に渡される ID はR.id.feedContentContainerで指定されたレイアウトの子である必要がありますsetContentView()

方法を教えていただけませんでしたがonCreate()、おそらく同じ問題なのでしょう。

おすすめ記事