2017-03-20 1 views
0

Je testais mon application avec un émulateur et mon bouton 3 points s'affichait parfaitement.Le bouton 3 points apparaît dans l'émulateur mais pas dans le devie

Lorsque j'ai testé avec mon appareil réel (Samsung Galaxy S3), ces trois boutons ne sont jamais apparus, et je ne sais pas pourquoi. Au lieu de cela, je reçois tous les 3 boutons, et je voulais seulement 1 + les 3 boutons de point ...

Voici mon menu

Voici les méthodes OnCreate et selectedItem

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_affichage_notes,menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) 
    { 
     case R.id.action_logout: 
      //création d'un Intent 
      Intent intent = new Intent(AffichageNotes.this, PageAccueil.class); 
      //ajout de fonctionnalités qui vont être transférés 
      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | 
        Intent.FLAG_ACTIVITY_NO_ANIMATION | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
      //transfert aussi de la valeur EXIT qui est true 
      intent.putExtra("EXIT", true); 
      startActivity(intent); 
      return true; 
     case R.id.action_setting: 
      Intent a = new Intent(AffichageNotes.this,Reglages.class); 
      startActivity(a); 
      return true; 
     case R.id.action_add: 
      Intent i = new Intent(AffichageNotes.this,AjoutTexte.class); 
      Bundle args = new Bundle(); 
      int id = getIntent().getIntExtra("id",0); 
      i.putExtra("id",id); 
      startActivity(i); 
      return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

D'où vient l'erreur? Merci les gars !

Répondre

0

Avez-vous placé vos articles dans un menu?

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item 
    android:id="@+id/action_add" 
    android:icon="@drawable/ic_action_add" 
    android:title="Ajouter Cours" 
    app:showAsAction="always" /> 

    <item 
     android:id="@+id/action_setting" 
     android:title="Réglages" 
     android:icon="@drawable/ic_action_setting" 
     app:showAsAction="never" 
     /> 
    <item 

     android:id="@+id/action_logout" 
     android:title="Se déconnecter" 
     android:icon="@drawable/ic_action_logout" 
     app:showAsAction="never" 
     /> 

</menu> 

Edit: pour rendre visible la solution

try { 
     ViewConfiguration config = ViewConfiguration.get(this); 
     FieldmenuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuK‌​ey"); 
     if (menuKeyField != null) { 

     menuKeyField.setAccessible(true); 
     menuKeyField.setBoolean(config, false); 
     } 
    } catch (Exception ex) { 
     return; 
    } 
+0

oh oui oui, je CUTTED et ne pas remarqué désolé .. Pouvez-vous – David

+0

@ David voir la barre d'action? Peut-être que vous ne pouvez pas voir à cause de votre thème, pouvez-vous poster votre fichier style.xml s'il vous plaît? –

+1

J'ai trouvé la solution! 'try { ViewConfiguration config = ViewConfiguration.get (this); Champ menuKeyField = ViewConfiguration.class.getDeclaredField ("sHasPermanentMenuKey"); if (menuKeyField! = Null) { menuKeyField.setAccessible (true); menuKeyField.setBoolean (config, false); } } catch (Exception ex) { // Ignorer } ' – David