J'ai une tâche simple:Menu Android avec ActionBarDrawerToggle
Créer un menu avec quelques éléments qui ouvre sur un bouton de la barre d'action bascule.
Mon activity_main est:
<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"
tools:context="com.example.mt.gmtelandroid.MainActivity"
android:id="@+id/drawer_layout">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>
<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:menu="@menu/navigation_menu"
android:layout_gravity="start"
app:headerLayout="@layout/navigation_header"
>
</android.support.design.widget.NavigationView>
et le menu de navigation
<menu xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/meni1" >
<item android:id="@+id/navhome"
android:title="Home"
android:icon="@mipmap/ic_home_black_24dp"
>
</item>
<item android:id="@+id/navtasks" android:title="Zadaci"
android:icon="@mipmap/ic_drive_eta_black_24dp"
></item>
<item android:id="@+id/navlogout" android:title="Odjava"
android:icon="@mipmap/ic_close_black_24dp">
</item>
<item android:id="@+id/myname" android:title="Moj Nalog"
android:icon="@mipmap/ic_account_circle_black_24dp">
</item>
Activité principale est
public class MainActivity extends AppCompatActivity
{
private DrawerLayout mDrawerLayout;
private ActionBarDrawerToggle mtogle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
mtogle = new ActionBarDrawerToggle(this, mDrawerLayout,R.string.open_menu, R.string.close_menu);
mDrawerLayout.addDrawerListener(mtogle);
mtogle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (mtogle.onOptionsItemSelected(item))
{
return true;
}
return super.onOptionsItemSelected(item);
}
}
Je ne sais pas comment ajouter un écouteur surMenuItemClick afin de pouvoir gérer ce qui se passe lorsqu'un utilisateur clique sur un élément de menu. J'ai essayé d'ajouter du code à la méthode onOptionsItemSelected, mais quand je l'ai débogué, j'ai découvert que cette méthode est seulement appelée sur toggle buton click, pas sur l'élément de menu click !?
avez-vous appelé cette méthode: @Override public boolean onCreateOptionsMenu (menu Menu) { getMenuInflater(). gonfle (R.menu.menu_main, menu); renvoyer true; } –