优先活动中的向上按钮

时间:2013-12-13 05:52:06

标签: android

我想将“向上”按钮用于PreferenceActivity,所以我尝试使用此代码

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
    getActionBar().setDisplayHomeAsUpEnabled(true);
}

但是eclipse给了我"Call requires API level 11 (current min is 10): android.preference.PreferenceActivity#getActionBar"我该如何解决?

我也试过

@SuppressLint("InlinedApi")
private void process() {
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }
}

但我也有同样的错误。

@SuppressLint("InlinedApi")
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.addPreferencesFromResource(R.layout.mylayout);

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }
}

同样的错误。

2 个答案:

答案 0 :(得分:0)

通过使用

进行注释来抑制给定方法的此警告
@SuppressLint("InlinedApi")
像这样:

@SuppressLint("InlinedApi")
@Override
protected void onCreate(final Bundle savedInstanceState) {
   // .. whatever
   if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
       getActionBar().setDisplayHomeAsUpEnabled(true);
   }
   // .. whatever
}

答案 1 :(得分:0)

更改

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
  getActionBar().setDisplayHomeAsUpEnabled(true);
}

if(Build.VERSION.SDK_INT >= 11) {
  // Use the Android API
}else{
 // Use the Support Library..
}

通过整数检查,因为常量是在适当的版本中引入的

相关问题