1. 程式人生 > >Android問題集錦:getActionBar為null的解決以及ActionBar的Back鍵

Android問題集錦:getActionBar為null的解決以及ActionBar的Back鍵

我最開始的需求是,修改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中修改

恩,暫時先寫在這裡,以後遇到問題了再補充!