【问题标题】:Android Toolbar Navigation icon doesnt change back to "3 lines" icon when returning to main screen返回主屏幕时,Android工具栏导航图标不会变回“3行”图标
【发布时间】: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;
}

【问题讨论】:

    标签: android toolbar


    【解决方案1】:

    我通过将以下内容放入 onoptionsitemselected 来解决它:

         @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        onBackPressed();
    
        Fragment testFragment = getSupportFragmentManager().findFragmentByTag(FIRST_FRAGMENT);
    
        if (testFragment.isVisible()) {
            setDrawerIndicatorEnabled(true);
        }
    
        return true;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-06
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      相关资源
      最近更新 更多