0

我使用了 if else 条件来显示手机的版本是否大于或等于 HoneyComb,然后它将显示ActionBar否则不是 .. 这是我的onCreate功能:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sign_up);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {           
        ActionBar actionBar = getActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
    }

    editName = (EditText) findViewById(R.id.editName);
    editUsername = (EditText) findViewById(R.id.editUsername);
    editPassword = (EditText) findViewById(R.id.editPassword);
    editEmail = (EditText) findViewById(R.id.editEmail);
    editBatch = (EditText) findViewById(R.id.editBatch);
}

但是 eclipse 显示 Call requires Api level 11 (Current Min is 9) 的错误

如何摆脱这个错误?

4

3 回答 3

1

任何一个

@TargetApi(Build.VERSION_CODES.HONEYCOMB)   

或者

@SuppressLint("NewApi")

上面你的onCreate()方法。

所以看起来像

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
public void onCreate (Bundle savedInstanceState)
{
  //rest of code
于 2013-01-05T17:19:41.200 回答
1

使用SherlockActionBar怎么样?.. 因为ActionBar它在 API 11 及更高版本中可用,并SherlockActionbar提供ActionBar较低的 API 版本

于 2013-01-05T17:19:55.057 回答
1

你需要使用 ActionBarSherlock http://actionbarsherlock.com/这里是教程http://www.slideshare.net/androidstream/action-bar-sherlock-tutorial 然后你可以使用:

ActionBar bar = getSupportActionBar();
于 2013-01-05T17:29:54.940 回答