「Trying to instantiate a class that is not a Fragment」が出たときの対象方

タイトルのようなエラー出たので、その対処法のメモ。

以下のような感じで、Activityが読み込んでいるレイアウトからFragmentを読んでいるのですが、Activityを表示したときにタイトルのエラーになりました。

Activity -> layout of activity -> Fragment -> layout of fragment

いくつかパターンがあるようで、Fragmentを継承してなくてActivityを継承していたりすると出るそうですが、自分の場合はちゃんとFragmentを継承しているのになぜ・・・


public class xxxFragment extends Fragment {

調べてみると「android.support.v4.app.Fragment」をインポートしているためでした。

「android.app.Fragment」をインポートするようにしたら正常に動きました。

「android.support.v4.app.Fragment」の場合はFragmentActivityを継承するそうです。