为MenuItem添加事件
首先看一下自定义的菜单项
在这里我想为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; }
实现效果
相关推荐
huha 2020-10-16
xfcyhades 2020-11-20
sgafdsg 2020-11-04
Michael 2020-11-03
fengyeezju 2020-10-14
ziyexiaoxiao 2020-10-14
业余架构师 2020-10-09
OuNuo0 2020-09-29
moses 2020-09-22
Angelia 2020-09-11
qinxu 2020-09-10
刘炳昭 2020-09-10
Nostalgiachild 2020-09-07
Nostalgiachild 2020-08-17
leavesC 2020-08-14
一青年 2020-08-13
AndroidAiStudy 2020-08-07
ydc0 2020-07-30
绿豆饼 2020-07-28