工具栏后退箭头不起作用

时间:2015-03-20 11:08:00

标签: android toolbar

我创建其他活动并希望使用工具栏后退箭头返回主要活动,但在代码不起作用的情况下,请帮帮我。

    mToolbar = (Toolbar) findViewById(R.id.toolbar);
    mToolbar.setTitle(R.string.setting);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);  
    mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            switch (item.getItemId()) {
            case android.R.id.home:
                System.out.println("??");
                finish();
                return true;

            }
            return true;
        }
    });

}

3 个答案:

答案 0 :(得分:9)

尝试此方法:

@Override
    public boolean onOptionsItemSelected(MenuItem menuItem) {
        switch (menuItem.getItemId()) {
        case android.R.id.home:


            return true;

        }
            return (super.onOptionsItemSelected(menuItem));

        }

答案 1 :(得分:3)

工具栏有一个方法,setNavigationOnClickListener。它允许您在后退箭头上侦听点击事件。如果您想了解有关工具栏的更多信息,请Here为文档。

 mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
   public void onClick(View v) {
            System.out.println("??");
            finish();
    }
});

答案 2 :(得分:0)

你应该用这个:

    @Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case android.R.id.home:
            onBackPressed();
            return true;
    }
    return super.onOptionsItemSelected(item);
}