为MenuItem添加事件
程序员文章站
2022-07-12 22:02:53
...
首先看一下自定义的菜单项
在这里我想为id为personlize的MenuItem添加单击事件, 当单击此条目时跳转到另一个Activity.
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Search, should appear as action button --> <item android:id="@+id/action_search" android:title="@string/options" android:icon="@drawable/options" android:showAsAction="ifRoom" /> <!-- Settings, should always be in the overflow --> <item android:id="@+id/personal" android:title="@string/personal" android:icon="@drawable/personal" android:showAsAction="ifRoom" > <menu> <item android:id="@+id/personalize" android:title="@string/personalize"/> <item android:id="@+id/exit" android:title="@string/exit"/> <item android:id="@+id/logout" android:title="@string/logout"/> <item android:id="@+id/about_us" android:title="@string/desc"/> </menu> </item> </menu>
我们要找到这个控件, 注意不能使用 findViewById() 这个方法, Menu 和 View 是不同的选项 ,
我在这里重写了 onPrepareOptionsMenu 方法通过 menu 的 findItem 方法找到对应的组件, 然后为它添加 click 事件 ,
@Override public boolean onPrepareOptionsMenu(Menu menu) { menu.findItem(R.id.personalize).setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { Intent intent = new Intent(MainPage.this , PersonalAction.class); startActivity(intent); return true; } }); return super.onPrepareOptionsMenu(menu); }
或者重写 onCreateOptionsMenu 方法 然后获得组件添加方法也可以.
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu , menu ); //setMenuBackground() ; menu.findItem(R.id.personalize).setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { System.out.println("onMenuItemClick onCreateOptionsMenu"); return true; } }); return true; }
实现效果
上一篇: Python 经验 - 多线程与多进程
下一篇: linux mysql 备份脚本
推荐阅读
-
为Vert.x/kotlin添加gRPC
-
如何将网络中的新字体添加到Word中并使用以2003版为例
-
jquery 交替为表格添加样式的代码_jquery
-
为IP查询添加GOOGLE地图功能的代码_php技巧
-
数据库 - php后台向leancloud添加数据时,如何设置id为自增涨?
-
mysql通过文档读取并执行命令之快速为mysql添加多用户和数据库技巧_MySQL
-
javascript - jQuery给动态添加的元素绑定事件的问题?
-
清爽视频编辑器如何为视频添加字幕?清爽视频编辑器为小视频添加字幕的方法
-
批量为shp文件添加字段
-
javascript为下拉列表动态添加数据项_javascript技巧