如何删除“Call required API level”错误?

时间:2012-09-27 23:07:38

标签: android eclipse

我在Eclipse中遇到此错误:调用需要API级别14(当前最小值为8):android.app.ActionBar#setHomeButtonEnabled

这是代码:

if(android.os.Build.VERSION.SDK_INT>=14) {
    getActionBar().setHomeButtonEnabled(false);
}

在清单中:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" />

如何删除此错误?

2 个答案:

答案 0 :(得分:98)

在方法签名上方添加行@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH),其中Build.VERSION_CODES.ICE_CREAM_SANDWICH的计算结果为14,即Ice Cream Sandwich的API版本代码。

像这样:

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public void yourMethod() {
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        getActionBar().setHomeButtonEnabled(false);
    }
}

答案 1 :(得分:7)

注意:已接受的answer已过时。

Android Studio 3.0 Beta 7中,您不再需要@TargetApi注释 看来皮棉检查现在更聪明了。

所以这就足够了:

public void yourMethod() {
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        getActionBar().setHomeButtonEnabled(false);
    }
}