【发布时间】:2017-08-18 23:36:02
【问题描述】:
我的片段在单击导航抽屉项目后立即打开。我希望它在导航抽屉关闭后打开。
导航抽屉支持库中抽屉关闭后如何打开片段?
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();
}
});
}
我在上面放什么代码? 抽屉关闭时如何打开片段? 在我的情况下,我的片段在单击该项目后打开。我想在抽屉关闭后打开一些延迟的片段。
【问题讨论】:
-
“通话片段”是什么意思?怎么打开?