Я просмотрел вопросы о переполнении стека и не могу найти решение.Попытка скрыть и показать пункты меню на панели действий
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.themenu, menu);
MenuItem item = menu.findItem(R.id.menu_settings);
MenuItem item2 = menu.findItem(R.id.menu_save);
item.setVisible(isdown);
item2.setVisible(isdown);
return true;
}
Это устанавливает пункты меню в видимые (item1 и item2). onclick отлично работает
public void inflateTextarea() {
if(isdown == true) {
isdown = false;
LinearLayout tl = (LinearLayout)findViewById(R.id.content);
tl.setVisibility(View.VISIBLE);
ScaleAnimation scale = new ScaleAnimation(1, 1, 0, 1);
scale.setFillAfter(true);
scale.setDuration(500);
tl.startAnimation(scale);
}
}
Тогда это устанавливает мой isdown булевым значением false. на стеке люди говорят, что onPrepareOptionsMenu должен стрелять каждый раз, когда я нажимаю, но это не так. Я могу скрыть один пункт меню на функции OnClick
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.menu_settings:
Log.v("Log:","edit_item pressed");
return true;
}
}
Но у меня есть несколько пунктов меню, что мне нужно, чтобы скрыть и другие, которые я хочу показать. как я могу это сделать?
да, я знаю это, но поскольку я читаю onPrepareOptionsMenu (меню меню) {должен срабатывать каждый раз, когда нажимается элемент меню, и это будет работать. Я не могу установить видимость, если у меня нет меню в функции, поэтому у меня есть проблема – Dnaso
Я вижу. Отредактированный пост, чтобы охватить это. – tbkn23
AHHH вот что я искал. Я постараюсь, если он плохо работает, признай спасибо. – Dnaso