اتصال toolbar به Navigation graph
سه شنبه, ۱۲ اسفند ۱۳۹۹، ۰۴:۴۵ ق.ظ
NavigationUI یکی از فیچرهای Navigation conponent هست که عنوان تولبار (یا همون اکشن بار) رو با تغییر فرگمنت تغییر میده و همچنین فلش Navigate up رو اضافه میکنه (بجز فرگمنت home).
کدش به صورت کامل در سایت اندروید اومده و به صورت زیر هست:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_h);
NavController navController = navHostFragment.getNavController();
NavigationUI.setupActionBarWithNavController(this,navController);
}
@Override
public boolean onSupportNavigateUp() {
NavController navController = Navigation.findNavController(this, R.id.nav_h);
return navController.navigateUp() || super.onSupportNavigateUp();
}
این کد حتما باید به صورت بالا و در اکتیویتی اصلی نوشته شود. (instance از navController حتما باید از طریق NavHostFragment گرفته شود)
قسمت هایلایت شده حتما باید به همین صورت نوشته شود. کدی که توی سایت اندروید نوشته ارور داره.
۹۹/۱۲/۱۲