3点按钮出现在模拟器中但不在devie中

时间:2017-03-20 18:35:32

标签: android android-studio android-actionbar

我正在使用模拟器测试我的应用程序,我的3点按钮显示完美。

当我使用我的真实设备(三星Galaxy S3)进行测试时,这些3点按钮从未出现过,我也不知道为什么。相反,我得到所有3个按钮,我只想要1 + 3个点按钮......

这是我的菜单

<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"
        />

这里是OnCreate和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);
}

错误来自哪里?谢谢你们!

1 个答案:

答案 0 :(得分:0)

您是否将物品放入菜单?

<?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>

编辑:使解决方案可见

  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;
    }