1. ホーム
  2. android

[解決済み] Android Fragment no view found for ID?

2022-01-26 01:39:49

質問

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

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のFragment layoutに設定されているFragmentです。
を保持するFragment Layoutをホストするために、FragmentActivityを使用しています。 feed_parser_layout .
上記のコーディングは正しいでしょうか?

解決方法は?

私もこの問題に悩まされていたのですが、ある日突然、レイアウトの指定を間違えていたことに気づきました。 setContentView()onCreate() というメソッドで、FragmentActivityを作成します。

に渡されたidは FragmentTransaction.add() あなたの場合 R.id.feedContentContainer で指定されたレイアウトの子でなければなりません。 setContentView() .

を見せなかったんですね。 onCreate() メソッドと同じ問題である可能性があります。