Клавишът на менюто не работи в AppCompat

Пренасям материал към приложение с отворен код. Използвал съм библиотеката AppCompat v21. Натискам клавиша за меню и не получавам нищо. Всичко останало работи.

какво правя грешно Ще прикача кода по-късно, тъй като изпращам това от телефона си.

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:yourapp="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/action_view_source" android:title="@string/action_view_source"  />
    <item android:id="@+id/action_view_translation" android:title="@string/action_view_translation" yourapp:showAsAction="never" />
    <item android:id="@+id/action_view_bugs" android:title="@string/action_view_bugs" yourapp:showAsAction="never"  />
</menu>

Java

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

person EasyasPi    schedule 03.12.2014    source източник


Отговори (1)


Няма значение, разбрах го. Изглежда, че клавишът Menu е бил деактивиран в новия AppCompat. Всъщност намерих начин да го поправя и предполагам, че ще го споделя с вас.

public class MainActivity extends ActionBarActivity {
private Toolbar toolbar;

@Override
public void onCreate(Bundle icicle){
...
setContentView(R.layout.main);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
...
public boolean onKeyUp(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_MENU) {
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        if (toolbar.isOverflowMenuShowing()) {
            toolbar.dismissPopupMenus();
        } else {
            toolbar.showOverflowMenu();
        }
        return true;
    }
    return super.onKeyUp(keyCode, event);
}
person EasyasPi    schedule 05.12.2014