Android问题集锦之四十一 getActionBar为null的解决以及ActionBar的Back键

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                       

我们用getActionBar获得ActionBar实例,将其隐藏或做其他操作。

ActionBar actionBar = getActionBar();
  
    
    
    
    
  • 1

不过我这样做了,但是actionBar是null。

问题是由Activity基类引起的,当使用AppCompatActivity或其他support包中的基类,那么获得ActionBar实例需要用另一个相应的方法,那就是getSupportActionBar(),ActionBar也要使用相应support包下的。

android.support.v7.app.ActionBar actionBar = getSupportActionBar();
  
    
    
    
    
  • 1
  • 2

那么这样就可以ActionBar自带的back功能了。

        if(actionBar != null) {            actionBar.setDisplayHomeAsUpEnabled(true);        }
  
    
    
    
    
  • 1
  • 2
  • 3
    @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);    }
  
    
    
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

你可能感兴趣的:(Android问题集锦之四十一 getActionBar为null的解决以及ActionBar的Back键)