关于Fragment API版本号兼容问题

Posted mthoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Fragment API版本号兼容问题相关的知识,希望对你有一定的参考价值。

  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;


假设导入了本地的包,会报错。











以上是关于关于Fragment API版本号兼容问题的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用兼容包 v4 创建 Fragment ListActivity 吗?

使用兼容包 android 膨胀片段

API-21 上 Fragment 的事务替换落后

关于Activity和Fragment生命周期的问题

兼容ie8,firefox,chrome浏览器的代码片段

Android开发-状态栏着色原理和API版本号兼容处理