Call requires API level 11 (current min is 8): new android.app.Fragment API版本冲突解决办法

来源:互联网 发布:mac版excel破解 编辑:程序博客网 时间:2024/06/07 06:49

我当前的应用程序支持的Android最小本号是8,而我需要使用Fragment这个控件,Fragment是API 11之后才有的,所以系统提示我:

Call requires API level 11 (current min is 8): new android.app.Fragment 错误,

截图如下:


下面我们对上面的解决办法分条说明:
@Add @SuppressLint 'NewApi' to ArticleFragment : 

选择了这个办法后会在当前类文件中加入一个Import语句:import android.annotation.SuppressLint;并且在类的前面加入一句注解:@SuppressLint("NewApi")。这样做的结果就是在当前这个类文件中不会再提示'NewApi'这一类的错误,也就是说随便我们用哪个版本的API,都不会在有这一类的提示。

@Add @TargetApi(HONEYCOMB) to 'ArticleFragment' :

如果选择了这个办法后,会在当前类文件中加入两个import语句:import android.annotation.TargetApi;
import android.os.Build; 并且在类文件之前加入一句注解:@TargetApi(Build.VERSION_CODES.HONEYCOMB)。这样做的结果就是告诉编译器当前的这个类使用的API版本是注解括号中的版本,这样编译器在编译程序时,遇到这个类文件就会使用括号中的库来编译程序,而不是使用AndroidManifest.xml中的mininumApi指定的版本。

Explain Issue(NewApi):

这个选项,看文字大家就知道了,是一个说明文档。这个文档说明了NewApi注解的原理,其实就是上面两条解释。

Disable Check In This File Only:这一条的意思是在当前文件中不要在检查错误,所以这一条最好不好选了。
Disable Check In This Project:在当前项目中不检查,同上。
Disable Check : 同上
Clear AllLink Markers:如果在当前类文件中有注解信息,点击这一条就会清除所有注解信息。

0 0