Je suis le débutant à android. Je veux créer un tiroir de menu de navigation. Quand je clique sur l'icône, il va s'ouvrir. Et il affiche le fragment lorsque je clique sur l'élément de menu. Mais mon tiroir de navigation ne se ferme pas automatiquement lorsque je clique sur l'élément de menu. Chaque fois que je fermais le tiroir de navigation pour voir mon fragment. Je ne sais pas où changer mon code? Ci-joint j'ai attaché mon MainActivity.java, activity_main.xml. Quelqu'un s'il vous plaît aidez-moi.Mon tiroir de navigation ne se ferme pas après avoir cliqué sur l'élément de menu?
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/drawer_layout"
tools:context="com.example.yuvi.navdrawermanual.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAlignment="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/main_msg"
android:textSize="20dp"
android:textAlignment="center"
android:text="@string/main_layout"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frame_container">
</FrameLayout>
</LinearLayout>
<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/main_drawer"
app:menu="@menu/navigation_menu"
android:layout_gravity="start">
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
private DrawerLayout mDrawerLayout;
private ActionBarDrawerToggle mToggle;
private NavigationView navigationView;
private android.app.FragmentTransaction fragmentTransaction;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDrawerLayout=(DrawerLayout)findViewById(R.id.drawer_layout);
mToggle=new ActionBarDrawerToggle(this,mDrawerLayout,R.string.open,R.string.close);
navigationView=(NavigationView) findViewById(R.id.main_drawer);
mDrawerLayout.addDrawerListener(mToggle);
mToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int id=item.getItemId();
android.app.FragmentManager fragmentManager= getFragmentManager();
if(id==R.id.nav_acc){
fragmentManager.beginTransaction().replace(R.id.frame_container,new FirstFragment()).commit();
}
else if(id==R.id.nav_set){
fragmentManager.beginTransaction().replace(R.id.frame_container,new SecondFragment()).commit();
}
else if(id==R.id.nav_logout){
fragmentManager.beginTransaction().replace(R.id.frame_container,new ThirdFragment()).commit();
}
return false;
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(mToggle.onOptionsItemSelected(item)){
return true;
}
return super.onOptionsItemSelected(item);
}
}
Utiliser closeDrawers() – AbhayBohra
Merci ....... – user3661367