工具栏菜单在片段中膨胀,但随后被清除。
首次创建(或旋转)活动时,工具栏菜单会在片段中正确膨胀,但在显示之前会被清除。
我在我的片段中设置了工具栏菜单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);
}
有只小跳蛙
侃侃无极
慕森王
相关分类