java保存碎片以防被破坏或隐藏,并更改徽章编号
我有一个主要的活动,当我改变方向时,我加载了几个片段,当前片段被销毁,默认片段被加载,我还想从片段中更改徽章编号,但我不知道怎么做。请帮我保存碎片的状态
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar;
toolbar = (Toolbar) findViewById(R.id.my_nav_bar);
toolbar.setTitleTextColor(getResources().getColor(R.color.text_white));
setSupportActionBar(toolbar);
navigationView = findViewById(R.id.mynavigation);
drawerLayout = findViewById(R.id.mydrawer);
actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.open, R.string.close);
drawerLayout.addDrawerListener(actionBarDrawerToggle);
actionBarDrawerToggle.syncState();
bottomNavigationView = findViewById(R.id.my_bottom_menu);
badgeDrawable = bottomNavigationView.getOrCreateBadge(R.id.cart);
badgeDrawable.setNumber(cartitems);
bottomNavigationView.setSelectedItemId(R.id.home);
fragmentManager.beginTransaction().replace(R.id.mycontainer, new home()).commit();
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.home:
fragmentManager.beginTransaction().replace(R.id.mycontainer, new home()).addToBackStack(null).commit();
break;
case R.id.order:
fragmentManager.beginTransaction().replace(R.id.mycontainer, new order()).addToBackStack(null).commit();
break;
case R.id.cart:
fragmentManager.beginTransaction().replace(R.id.mycontainer, new Cart()).addToBackStack(null).commit();
break;
}
return true;
}
});
}
共 (0) 个答案