58

我在 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" />

如何消除此错误?

4

2 回答 2

104

在方法签名上方添加一行@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);
    }
}
于 2012-09-27T23:10:11.663 回答
10

注意:接受的答案已过时。

Android Studio 3.0 Beta 7您不再需要@TargetApi注释。
看来 lint 检查现在更智能了。

所以这就足够了:

public void yourMethod() {
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        getActionBar().setHomeButtonEnabled(false);
    }
}
于 2017-10-10T16:40:11.917 回答