ナビゲーション引き出しアイテムをクリックするとすぐにマイフラグメントが開きます。ナビゲーション引き出しが閉じられた後に開くようにします。ナビゲーションドロワーを閉じた後にフラグメントを開く方法
ナビゲーション・ドロワー・サポート・ライブラリーでドロワーが閉じられた後で、どのようにフラグメントを開くことができますか?
private void initNavigationView()
{
navigationView = (NavigationView) findViewById(R.id.navigation_view);
drawerLayout = (DrawerLayout) findViewById(R.id.navigation_drawer);
drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.nav_open, R.string.nav_close) {
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
invalidateOptionsMenu();
}
@Override
public void onDrawerClosed(View drawerView) {super.onDrawerClosed(drawerView)
}
};
drawerLayout.post(new Runnable() {
@Override
public void run() {
drawerToggle.syncState();
}
});
drawerToggle.setDrawerIndicatorEnabled(true);
drawerLayout.setDrawerListener(drawerToggle);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.tentang:
break;
case R.id.keluar:
finish();
break;
}
selectDrawerItem(menuItem);
return true;
}
private void selectDrawerItem(MenuItem menuItem)
{
Fragment fragment = null;
Class fragmentClass = null;
switch (menuItem.getItemId())
{
case R.id.fragment_home:
fragmentClass = com.wahyuapps.benux.fragment.fragmentHome.class;
break;
case R.id.fragment_distro_linux:
fragmentClass = com.wahyuapps.benux.fragment.fragmentDistroLinux.class;
break;
}
try {
fragment = (Fragment)fragmentClass.newInstance();
}catch(Exception e){
e.printStackTrace();
}
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.fragment_content, fragment).commit();
menuItem.setChecked(true);
setTitle(menuItem.getTitle());
drawerLayout.closeDrawers();
}
});
}
このコードはどのようなものですか? 引き出しを閉じたときに断片を開くにはどうすればいいですか?私の場合は 、アイテムをクリックするとフラグメントが開きました。私は引き出しが閉じた後にいくらか遅延して断片を開きたい。
「コールフラグメント」とはどういう意味ですか?それを開く方法? – DEADMC