Przejrzałem pytania dotyczące przepełnienia stosu i nie mogę znaleźć rozwiązania.Próba ukrycia i wyświetlenia pozycji menu na pasku działań
@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;
}
Powoduje to ustawienie pozycji menu na widoczną (pozycja 1 i pozycja 2). onclick działa dobrze
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);
}
}
W ten sposób ustawia się wartość logiczną isin na false. na stosie ludzie mówią, że onPrepareOptionsMenu powinien uruchamiać się za każdym razem, gdy kliknę, ale tak nie jest. jestem w stanie ukryć jedną pozycję menu w funkcji onclick
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.menu_settings:
Log.v("Log:","edit_item pressed");
return true;
}
}
Ale mam kilka pozycji menu, że muszę ukrywać i innym, że chcę pokazać. jak mogę to zrobić?
tak Wiem, ale jak czytam na onPrepareOptionsMenu (menu menu) {ma odpalać za każdym razem, gdy kliknięto element menu i TO działało. Nie mogę ustawić widoczności, chyba że mam menu Menu w funkcji, więc tam właśnie mam problem. – Dnaso
Rozumiem. Zmieniono post, aby to uwzględnić. – tbkn23
AHHH to było to, czego szukałem. Spróbuję, jeśli to działa źle, dziękuję. – Dnaso