You need to decide if you want more:
replacing Fragmentwith FrameLayoutand then closingDrawerLayout
or
close DrawerLayoutand then replace Fragment.
To implement the first approach:
:
listViewDrawer.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
toolbar.setTitle(getResources().getString(R.string.title));
fragmentMain = new FragmentMain();
android.app.FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frameLayoutMain, ApplicationTapaKiosk.getInstance().fragmentMain)
.commit();
fragmentManager.executePendingTransactions();
drawerLayout.closeDrawer(listViewDrawer);
}
}
:
- :
listViewDrawer.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mDrawerItemClicked = true;
drawerLayout.closeDrawer(listViewDrawer);
}
}
DrawerLayout.DrawerListener DrawerLayout, :
drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
}
@Override
public void onDrawerOpened(View drawerView) {
}
@Override
public void onDrawerClosed(View drawerView) {
if (mDrawerItemClicked){
mDrawerItemClicked = false;
toolbar.setTitle(getResources().getString(R.string.title));
fragmentMain = new FragmentMain();
android.app.FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frameLayoutMain, ApplicationTapaKiosk.getInstance().fragmentMain)
.commit();
}
}
@Override
public void onDrawerStateChanged(int newState) {
}
});