Flagmentを使う場合、なぜ「android.app.Fragment」ではなく「android.support.v4.app.Fragment」を使うのですか?

2017年10月16日
ユーザー
getSupportFragmentManager()
        .beginTransaction()
        .add(R.id.detailFrame, detailFragment)
        .commit();

ここで、次のようなエラーが出てしまいました。

add(R.id.detailFrame, detailFragment)
Error:(21, 17) エラー: addに適切なメソッドが見つかりません(int,DetailFragment)
メソッド FragmentTransaction.add(Fragment,String)は使用できません
(引数の不一致: intをFragmentに変換できません:)
メソッド FragmentTransaction.add(int,Fragment)は使用できません
(引数の不一致: DetailFragmentをFragmentに変換できません:)

ソースコードとの違いを探し、DetailFragment.javaのimport android.app.Fragment;import android.support.v4.app.Fragment;にしたところ正常に動作するようになりました。

この場合何がいけなかったのでしょうか?

この回答を見るにはプレミアムサービスへの登録が必要です

プレミアムサービスとは?