Jos*_*osh 15 android android-fragments android-actionbar
任何人都可以提供一个快速示例,说明如何根据片段中发生的事情更改"活动"操作栏的内容?我的意图:
普通菜单项 - >片段中的某些内容被移动 - >菜单项更改为保存/放弃按钮.
我的第一个冲动是在活动和片段中设置广播接收器以进行串扰,但我不确定这是否正确.
Sre*_*ick 22
片段可以更改操作栏中的菜单.为此,你必须在fragment的oncreate()using方法中添加必要的标志setHasOptionsMenu(true);
加载片段后,您就会onCreateOptionsMenu(Menu menu, MenuInflater inflater)像在活动中一样打电话.然后对菜单进行必要的更改.
将菜单保存为片段中的全局菜单,每当您想要进行更改时,请应用它.
以下适用于我.我有一个ListView.MultiChoiceModeListener在Fragment 中实现的自定义类:
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
// Choose the correct Action Bar menu to display
int menu = myCondition == true ? R.menu.my_default_menu : R.menu.my_menu_2;
// Configure to use the desired menu
mode.getMenu().clear();
MenuInflater inflater = getActivity().getMenuInflater();
inflater.inflate(menu);
}
Run Code Online (Sandbox Code Playgroud)
鉴于您如何检测到"片段中的某些内容已经移动",扩展ListView.MultiChoiceModeListener可能对您无效,但希望这说明了如何更改菜单.关键是访问ActionMode实例.
| 归档时间: |
|
| 查看次数: |
18045 次 |
| 最近记录: |