【发布时间】:2014-12-03 20:47:26
【问题描述】:
我有一个包含两个片段区域的活动的应用程序 - 顶部是工具栏片段,下方是“内容”片段区域,其中包含我要加载的任何片段。随着用户在应用程序中的进展,内容区域由不同的单个片段填充以反映这一点(一次只有一个片段,占用工具栏片段未占用的整个区域),但工具栏片段保持不变。到目前为止一切都很好.. 但是当用户在第一个屏幕上时,在他导航到不同的片段之前,工具栏上的导航图标(左上角)显示了 3 行图标,表示用户在顶层应用程序。当用户更改为不同的内容片段时,此导航图标会变成一个指向后退的箭头,单击它会在内容片段上执行 onbackpressed()(在后台堆栈中向后移动一个)但是导航图标保持为后退箭头 - 它不会返回到 3 行图标。每次用户回到内容区域的第一个片段时,如何将其恢复为 3 行图标?
这是我的代码:
工具栏片段内部:
((ActionBarActivity) getActivity()).setSupportActionBar(toolbar);
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
((ActionBarActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(true);
在包含所有片段的主要活动内部:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
onBackPressed();
return true;
}
【问题讨论】: