Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 调用需要API级别14(当前最小值为11)_Android_Adt - Fatal编程技术网

Android 调用需要API级别14(当前最小值为11)

Android 调用需要API级别14(当前最小值为11),android,adt,Android,Adt,我一直在关注Android官方培训计划,在“活动生命周期管理”课程“启动活动”中,有一段代码如下所示: public void onCreate(Bundle savedInstanceState) { /* ... some other stuff ... */ // Make sure we're running on Honeycomb or higher to use ActionBar APIs if (Build.VERSION.SDK_INT >=

我一直在关注Android官方培训计划,在“活动生命周期管理”课程“启动活动”中,有一段代码如下所示:

public void onCreate(Bundle savedInstanceState) {

    /* ... some other stuff ... */

    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        // For the main activity, make sure the app icon in the action bar
        // does not behave as a button
        ActionBar actionBar = getActionBar();
        actionBar.setHomeButtonEnabled(false);
    }
}
然而,当我在测试应用程序中编写它时,ADT会警告我

调用需要API级别14(当前最小值为11): android.app.ActionBar#SetHomeButton已启用

我的应用程序确实是min API level 11,正如本教程所述,但当对该方法的调用位于检查当前版本的块中时,为什么ADT如此自鸣得意地告诉我这不属于那里?培训计划继续让我相信这是可以的,它说:

警告:使用SDK_INT可防止旧系统执行新命令 API仅在Android 2.0(API级别5)及更高版本上以这种方式工作。 旧版本将遇到运行时异常


但是当ADT甚至不允许我编译时,避免运行时错误也没有多大帮助

为什么不使用support jar进行向后支持呢。它也将在较低的API上运行

但为什么ADT如此自鸣得意地告诉我这不属于那里, 当对该方法的调用位于检查当前 版本

是的,您添加了它,但是
IDE
不知道您正在通过构建检查版本

只需添加@suppressint(“NewApi”),错误就会消失。或者,您可以创建以下方法并在以下条件下使用它们:

@TargetApi(14)
private void actionAPI14() {
   getActionBar().setHomeButtonEnabled(false);
}

private void action() {
   getSupportActionBar().setHomeButtonEnabled(false);
}

始终可以对较低的API版本使用support package。

我使用的是support jar,也是上一节课的内容,我的台词是
import android.support.v7.app.ActionBarActivity
我想它一定工作正常,因为它没有报告任何错误。你能分享stackTrace吗?不太好,因为它根本不允许我编译它,说
你的项目包含错误,请在运行应用程序之前修复它们。
如果我添加suppress Lint,当我回答下面的阿披实书时,我确实在前面的课程中添加了支持包。如果它应该与支持包一起工作,而不抑制Lint的错误,那么肯定还有其他错误。。。但是,您关于抑制Lint错误的建议确实让它运行起来了,因此我现在至少可以继续我的课程:)请注意,如果这一点完全清楚,但为了使用支持操作栏,您需要使用getSupportActionBar()而不是getActionBar()。使用后者将失败,并在低于14的API上抛出错误。