SAI*_*AIR 8 android menu android-fragments
我的活动有2个片段.
一次可见1个片段,每个片段都有不同的选项菜单.
我可以通过两种不同的方式实现这种行为.
1 - 我可以通过调用每个片段为每个片段添加不同的菜单onCreateOptionsMenu.
2 - 我只能在活动级别有一个菜单,可以选择显示特定选项onPrepareOptionsMenu
我想知道的是:
实现此功能的首选方法是哪种?
推荐什么?
希望这可以帮助
将项目添加到操作栏
您的片段可以通过实现onCreateOptionsMenu()将菜单项提供给活动的"选项"菜单(以及操作栏).但是,为了使此方法接收调用,您必须在onCreate()期间调用setHasOptionsMenu(),以指示该片段要将项添加到Options菜单(否则,片段将不会接收对onCreateOptionsMenu()的调用).
然后,您从片段添加到"选项菜单"的任何项目都将附加到现有菜单项.当选择菜单项时,片段还接收对onOptionsItemSelected()的回调.
您还可以在片段布局中注册视图,以通过调用registerForContextMenu()来提供上下文菜单.当用户打开上下文菜单时,片段将接收对onCreateContextMenu()的调用.当用户选择一个项目时,该片段接收对onContextItemSelected()的调用.
http://developer.android.com/guide/components/fragments.html
我会遵循第一个选项,因为为每个片段提供一个专用的资源菜单看起来更干净,并且还降低了维护可见内容和不可见内容所需的代码复杂性(如果您要浏览并拥有onPrepareOptionsMenu隐藏和显示的代码)不同的菜单)。
如果您的片段中有一些操作,那么您可以创建一个基本片段类,每个片段都将从该类扩展。
| 归档时间: |
|
| 查看次数: |
4232 次 |
| 最近记录: |