## getActionBar为null的解决以及ActionBar的Back键
我们用getActionBar获得ActionBar实例,将其隐藏或做其他操作。
~~~
ActionBar actionBar = getActionBar();
~~~
不过我这样做了,但是actionBar是null。
问题是由Activity基类引起的,当使用AppCompatActivity或其他support包中的基类,那么获得ActionBar实例需要用另一个相应的方法,那就是getSupportActionBar(),ActionBar也要使用相应support包下的。
~~~
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
~~~
那么这样就可以ActionBar自带的back功能了。
~~~
if(actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
~~~
~~~
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if(id == R.id.home) {//back key
Intent intent = NavUtils.getParentActivityIntent(this);
if(intent != null) {
if (NavUtils.shouldUpRecreateTask(this, intent)) {
TaskStackBuilder.create(this)
.addNextIntentWithParentStack(intent)
.startActivities();
} else {
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
NavUtils.navigateUpTo(this, intent);
}
} else {
Log.e(TAG,"intent is null");
}
}
return super.onOptionsItemSelected(item);
}
~~~
- 前言
- Android问题集锦转载之一
- Android问题集锦之一
- Android问题集锦之二
- Android问题集锦之三
- Android问题集锦转载之二
- Android问题集锦转载之三
- Android问题集锦之四
- Android问题集锦转载之四
- Android问题集锦转载之五
- Android问题集锦之六
- Android问题集锦之七
- Android问题集锦之八
- Android问题集锦之九
- Android问题集锦之十
- Android问题集锦之十一
- android问题集锦之十二
- Android问题集锦转载之六
- Android问题集锦之十三
- Android问题集锦之十四
- Android问题集锦转载之七
- Android问题集锦之十五
- Android问题集锦转载之八
- Android问题集锦之十六
- Android问题集锦之十七
- android问题集锦之十八
- Android环境问题集锦之十九
- Android问题集锦之二十
- Android问题集锦之二十一
- Android问题集锦之二十二
- Android问题集锦之二十三
- Android问题集锦之二十四
- Android问题集锦之二十五
- Android问题集锦之二十六
- Android问题集锦之二十七
- Android问题集锦之二十八
- Android问题集锦之二十九
- Android问题集锦之三十
- Android问题集锦之三十一
- Android问题集锦之三十二
- Android问题集锦之三十三
- Android问题集锦之三十四
- Android问题集锦之三十五
- Android问题集锦之三十六
- Android问题集锦之三十七
- Android问题集锦之三十八
- Android问题集锦之三十九
- Android问题集锦之四十
- Android问题集锦之四十一
- Android问题集锦之四十二
- Android问题集锦之四十三
- Android问题集锦之四十四
- Android问题集锦之四十五
- Android问题集锦之四十六