2015-03-09 5 views
0

У меня есть активность, которая состоит из плейера просмотра фрагментов. Каждый фрагмент состоит из расширяемого списка. Я хочу показать или скрыть кнопку панели действий из расширяемого адаптера listview. Я попробовал это, передав элемент меню классу адаптера, но он не работает. Невозможно отобразить или скрыть кнопку из класса адаптера. Может ли кто-нибудь помочь мне получить это.Скрытие кнопки панели действий из расширяемого списка Просмотр адаптера фрагмента

ответ

0

Что вы можете сделать, так это создать функцию hide/show в классе Activity, которая имеет доступ к вашему MenuItem (я предполагаю, что вы его раздуваете).

MenuItem buttonToShowHide; 
    ....................//rest of your activity code 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
      // Inflate the menu; this adds items to the action bar if it is present. 
      getMenuInflater().inflate(R.menu.menu_mainmenu, menu); 
     //Initialize your menuitem here: 
     buttonToShowHide=menu.findItem(R.id.your_menu_id); 
     return true; 
} 
//Now you can make a function that will show/hide your menu item 
public void setButtonVisibility(boolean visible){ 
    //show item 
    buttonToShowHide.setVisibility(visible); 
    invalidateOptionsMenu(); //invalidate the menu 
} 

Теперь вы можете получить свой экземпляр активности внутри класса адаптера легко, используя то context.You можно использовать описанную выше функцию, чтобы показать/скрыть пункт меню.

MyActivity myActivity=(MyActivity) context; 
    //now you can access the above function as: 
    myActivity.setButtonVisibility(true); 

Я надеюсь, что это сработает для вас.

+0

Спасибо за ответ @jonDoe. Я пробовал то же самое, но вместо активности я должен использовать функцию в фрагменте. Как я могу это сделать? –

+0

Где вы раздуваете меню? В фрагменте или в вашей деятельности? – jonDoe

+0

Как фрагмент является дочерним элементом пейджера представления, я раздуваю его по фрагменту. Отображение и скрытие кнопки панели действий происходит в соответствии с дочерними данными viewpager. –

Смежные вопросы