getActionBar返回null

时间:2016-01-21 07:02:51

标签: android null android-actionbar

我有一项活动

我添加了

 setSupportActionBar(toolbar);

我想在操作栏上显示主页按钮。 主页按钮来自android预定义。

我正在调用这种方法

getActionBar().setDisplayHomeAsUpEnabled(true);

但是当我运行应用程序时,它会让getActionBar退回null

完整的活动代码如下

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

    setSupportActionBar(toolbar);


    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    . setAction("Action", null).show();
        }
    });



    getActionBar().setDisplayHomeAsUpEnabled(true);

为什么getActionBar返回null?这就是我的问题。

2 个答案:

答案 0 :(得分:1)

您应该尝试getSupportActionBar()

答案 1 :(得分:0)

在活动中使用

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

在片段中使用

((ActionBarActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);

而不是

getActionBar().setDisplayHomeAsUpEnabled(true);