Я просмотрел вопросы о переполнении стека и не могу найти решение.
@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;
}
}
Но у меня есть несколько пунктов меню, которые мне нужно скрыть, и другие, которые я хочу показать. как я могу это сделать?