在我的应用中,MainActivity使用导航抽屉来托管多个片段。 MainActivity提供工具栏,片段内容显示在框架布局的工具栏下方。
在MainActivity中,我启动第一个片段并初始化我的工具栏,如下所示。
fragmentManager.beginTransaction().replace(R.id.content_frame, new FirstFragment()).commit();
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("Fragment 1");
我的一个片段需要一个子片段。我想在该子片段中添加一个后退按钮,并覆盖MainActivity中的onBackPressed()。
我的工具栏目前只显示3行汉堡包,按下后会打开导航抽屉并显示我的片段列表。
我不知道如何在我的subfragment中显示后退箭头而不是汉堡包。然后我需要捕获onBackPressed()事件并处理它。
我可能做错了,可能应该使用活动而不是片段,但如果我这样做,我将无法动画片段slide_in / slide_out过渡动画。工具栏会随着框架布局一起滑动,我不希望这样。
我希望片段内容显示转换,而工具栏仍保留在原位。正如您在View Pager中所期望的那样。
我很感激任何建议。
谢谢!
答案 0 :(得分:1)
您可以更改调用这些行的“主页图标”:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
为了处理“主页点击”,您必须覆盖onOptionsItemSelected并处理主MenuItem(android.R.id.home)的点击监听器。
windowSoftInputMode
祝你好运!