【发布时间】:2015-03-09 14:44:40
【问题描述】:
我有一个由片段视图寻呼机组成的活动。每个片段都包含一个可展开的列表视图。我想显示或隐藏可扩展列表视图适配器的操作栏按钮。我通过将菜单项传递给适配器类来尝试它,但它不起作用。无法在适配器类中显示或隐藏按钮。谁能帮我弄到这个。
【问题讨论】:
标签: android android-fragments expandablelistadapter
我有一个由片段视图寻呼机组成的活动。每个片段都包含一个可展开的列表视图。我想显示或隐藏可扩展列表视图适配器的操作栏按钮。我通过将菜单项传递给适配器类来尝试它,但它不起作用。无法在适配器类中显示或隐藏按钮。谁能帮我弄到这个。
【问题讨论】:
标签: android android-fragments expandablelistadapter
您可以做的是在您的 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);
我希望这对你有用。
【讨论】: