Fragment 是在API 11(android 3.0)被引入的。然而我的应用 的 android:miniSdkVersion 是 API 8,也就是说该应用是兼容旧版本号的。为了可以兼容旧版本号,须要引入Fragment相关的支持包
import android.support.v4.app.Fragment;
而不是本地包
import android.app.Fragment;
尽管Android支持包和本地包都含有Fragment的相关类,但这些分布在两个包中的类是不能够互用的。
FragmentManager fm =getSupportFragmentManager(); Fragment fragment = fm.findFragmentById(R.id.fragmentContainer); if (fragment==null){ fragment = new CrimeFragment(); fm.beginTransaction() .add(R.id.fragmentContainer,fragment) .commit();在这段代码中,我们导入的包是这些:
import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager;
而不是这些:
import androidapp.Fragment; import androidapp.FragmentActivity; import android.app.FragmentManager;
假设导入了本地的包,会报错。