Как отключить и включить пункты меню на Android? - PullRequest
1 голос
/ 20 июля 2011

Я пытаюсь отключить и включить параметр меню, но он показывает мне ошибку: исключение Nullpointer.

Вот мой код:

mnu.xml:

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

<item android:id="@+id/Add" android:title="Add" android:icon="@drawable/add"/>

<item android:id="@+id/bill_menu" android:title="Bill" android:enabled="false" />


</menu>

Я использовал в своем классе Java

 //creating menu
    public boolean onCreateOptionsMenu(Menu menu) {

    MenuInflater inflater = getMenuInflater();

    inflater.inflate(R.menu.mnu, menu);



    MenuItem mi=((MenuItem) this.findViewById(R.id.bill_menu));
    mi.setEnabled(true);    
    }

    return true;

    }

Ответы [ 5 ]

6 голосов
/ 21 июля 2011

Заменить

MenuItem mi=((MenuItem) this.findViewById(R.id.bill_menu));

на

MenuItem mi = menu.findItem(R.id.bill_menu);
3 голосов
/ 20 июля 2011

Чтобы отключить меню параметров - переопределите onPrepareOptionsMenu () и верните false, как описано в onPrepareOptionsMenu () .

Некоторые предложения относительно исключения:

  1. Попробуйте вызвать super.onCreateOptionsMenu (меню)
  2. Определите, какой из них фактически равен нулю, и поделитесь выводом logcat.
1 голос
/ 21 июля 2011

Не было бы лучше, если вы переопределите onCreateOptionsMenu (), добавите туда свои пункты меню и переопределите onPrepareOptionsMenu (), чтобы изменить включение ваших элементов. Это снизит вероятность ошибок в вашем коде, и у вас больше не будет проблем, с которыми вы столкнулись прямо сейчас.

0 голосов
/ 07 апреля 2013

На сайте разработчиков Android уже есть справка / руководство для этого:

http://developer.android.com/guide/topics/ui/menus.html#ChangingTheMenu

0 голосов
/ 10 июня 2012

У меня возникла та же проблема, и я нашел ответ на этот вопрос. Включить / выключить меню

надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...