То же меню опций во всех Операциях в Android

У меня есть 10-15 операций в моем проекте. Я хочу иметь меню опций главным образом во всех Операциях. Затем их любой способ, которым мы можем сделать это в одном месте, и это появляется во всех операциях.

Кроме того, мне понравится скрывать меню опций в некоторых. Так, это возможный, или я должен написать код меню опций во всех операциях.

С уважением

Sunil

31
задан sunil 17 July 2010 в 04:04
поделиться

1 ответ

Создайте класс (скажем, BaseActivity ), который расширяет Activity, и переопределит onCreateOptionsMenu и onOptionsItemSelected функции.

public class BaseActivity extends Activity {

    // Activity code here

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.options_menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.item:
                // do what you want here
                return true;
            default:
               return super.onOptionsItemSelected(item);
        }
    }
}

Теперь в остальных 15–16 действиях вместо расширения действия следует расширить BaseActivity .

public class FooActivity extends BaseActivity { 

    // Activity code here

}

Таким образом, все ваши действия выводятся из меню параметров. Для действий, для которых вы хотите отключить меню параметров, вы можете снова переопределить его в этом конкретном действии.

public class BarActivity extends BaseActivity { 

    // Activity code here

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
       // Do Nothing
   }

   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
       // Do Nothing
   }
}

Надеюсь, это не вызовет проблем с файлом манифеста.

64
ответ дан 27 November 2019 в 21:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: