工具栏菜单在片段中膨胀,但随后被清除。首次创建(或旋转)活动时,工具栏菜单会在片段中正确膨胀,但在显示之前会被清除。我在我的片段中设置了工具栏菜单onActivityCreated,它在活动中保持设置状态onResume。我发现的下一个电话是在onCreateOptionsMenu活动中,但此时toolbar.getMenu().size() = 0介于两者之间的某处onResume,onCreateOptionsMenu工具栏菜单正在重置。编辑:我不确定重现它需要什么,但这里是相关代码的全部(?)。活动: private Toolbar toolbar; private DrawerLayout drawer; private ActionBarDrawerToggle toggle; private FloatingActionButton fab; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.drawer_main); toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); fab = findViewById(R.id.main_fab); drawer = findViewById(R.id.drawer_layout); toggle = new ActionBarDrawerToggle(this, drawer,toolbar,R.string.nav_drawer_open,R.string.nav_drawer_close); drawer.addDrawerListener(toggle); NavigationView navigationView = findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); if (savedInstanceState == null) { showFragment(ScheduleFragment.newInstance()); } } @Override public boolean onOptionsItemSelected(MenuItem item) { if(toggle.onOptionsItemSelected(item)) { return true; } return super.onOptionsItemSelected(item); } @Override protected void onPostCreate(Bundle savedInstanceState) { CharSequence retainTitle = toolbar.getTitle(); super.onPostCreate(savedInstanceState); toggle.syncState(); toolbar.setTitle(retainTitle); }
添加回答
举报
0/150
提交
取消