Android开发:Fragment与Activity的onCreateOptionsMenu方法使用详解
在Android开发中,`onCreateOptionsMenu()`方法是在`Activity`中定义的,用于在选项菜单中创建菜单项。`Fragment`没有直接提供这个方法,但是可以通过`Activity`来实现。 如果你想要在`Fragment`中创建选项菜单,你可以: 1. 在`Fragment`中重写`onCreateOptionsMenu()`方法,创建菜单项。 2. 在`Activity`中重写`onCreateOptionsMenu()`方法,然后在`onOptionsItemSelected()`方法中判断点击的菜单项是哪个`Fragment`创建的,然后调用相应的`Fragment`的`onOptionsItemSelected()`方法。 例如: ```java public class MyFragment extends Fragment { @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.my_menu, menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.my_menu_item: // do something return true; default: return super.onOptionsItemSelected(item); } } } public class MyActivity extends AppCompatActivity { @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.my_activity_menu, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.my_activity_menu_item: MyFragment fragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.id.my_fragment_container); if (fragment != null) { fragment.onOptionsItemSelected(item); } return true; default: return super.onOptionsItemSelected(item); } } } ``` 在这个例子中,`MyFragment`和`MyActivity`都有一个选项菜单。当点击`MyActivity`的菜单项时,`MyActivity`会找到相应的`MyFragment`,然后调用`MyFragment`的`onOptionsItemSelected()`方法。 ######[AI写代码神器 | 397点数解答 | 2023-11-07 22:35:19]
- RealtimeMonitoringFragment 代码片段:Android 实时监控功能核心代码剖析(字节豆包 | 30点数解答 | 2024-10-12 10:31:18)294
- 揭秘:Android实时监控片段(RealTimeMonitoringFragment)代码实现(GPT | 531点数解答 | 2024-10-12 10:32:25)269
- AIDE编写Xposed软件:参考代码教你拦截Smail类方法名(阿里通义 | 649点数解答 | 2024-10-12 00:15:48)305
- Java 实现计算机硬件模拟:从 PCI 设备到主板、计算机的启动与关闭(字节豆包 | 716点数解答 | 2024-12-08 23:38:38)326
- Java 代码:模拟计算机主板启动与关闭 PCI 设备全流程(字节豆包 | 637点数解答 | 2024-12-09 08:31:54)293
- 深入剖析 setupplayer 方法代码逻辑(字节豆包 | 29点数解答 | 2024-11-05 01:36:35)294
- Java 实战:Vehicle 类与 User 类实现机动车速度功率控制( | 968点数解答 | 2024-03-12 11:26:25)543
- JSP 实现商品展示模块:分页、搜索、交互与美观界面全搞定!(字节豆包 | 19点数解答 | 2024-12-13 15:00:43)336
- 深度揭秘 Oracle Workarea Size Policy:参数调优助力数据库性能飞升(阿里通义 | 372点数解答 | 2024-05-13 10:54:45)227
- 智能电话窗口按钮1弹起:获取坐标与手机IMEI码待处理(GPT | 208点数解答 | 2024-09-12 16:36:31)353
- Java 实战:动物类、接口与继承实现鸟儿吃虫和飞翔功能(字节豆包 | 183点数解答 | 2024-09-19 15:53:55)286
- Java 实战:动物类、接口与继承,实现鸟儿吃虫与飞翔功能(字节豆包 | 184点数解答 | 2024-09-19 16:45:48)309