Android問題集錦:getActionBar為null的解決以及ActionBar的Back鍵
阿新 • • 發佈:2018-11-10
我最開始的需求是,修改Actionbar的標題文字,用的方法是,
ActionBar actionBar = getActionBar();
發現這樣獲取的actionbar的例項為null,於是開啟了查詢資料的旅程,找到解決方案如下:
問題原因:
Activity基類引起的,當使用AppCompatActivity或其他support包中的基類,那麼獲得ActionBar例項需要用另一個相應的方法,那就是getSupportActionBar(),ActionBar也要使用相應support包下的。
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
這樣就可以獲取到acitonbar的例項了,可以對它為所欲為了.
- 使用actionbar的back功能
actionBar.setDisplayHomeAsUpEnabled(true);
@Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); if(itemId == android.R.id.home){ //注意是android.R包下的id super.onBackPressed(); } return super.onOptionsItemSelected(item); }
- 如果僅僅是修改Actionbar的標題文字,可以在manifest.xml中修改
恩,暫時先寫在這裡,以後遇到問題了再補充!