从片段的可扩展列表视图适配器隐藏操作栏按钮

时间:2015-03-09 14:44:40

标签: android android-fragments expandablelistadapter

我有一个由片段视图寻呼机组成的活动。每个片段都包含一个可扩展的列表视图。我想显示或隐藏可扩展列表视图适配器中的操作栏按钮。我通过将菜单项传递给适配器类来尝试它,但它不起作用。无法显示或隐藏适配器类中的按钮。任何人都可以帮助我获得这个。

1 个答案:

答案 0 :(得分:0)

你可以做的是在你的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
}

现在,您可以使用上下文轻松地在适配器类中获取活动实例。然后,您可以使用上述功能显示/隐藏您的菜单项。

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

我希望这适合你。