actionbar设置menu以及获取item实例
16lz
2021-12-04
首先定义一下menu文件
xmlns:app="http://schemas.android.com/apk/res-auto">android:id="@+id/edit_and_save"app:showAsAction="always"android:title="修改"android:icon="@android:drawable/ic_menu_edit"/>
然后需要在Activity文件中设置menu菜单, 需要重写onCreateOptionsMenu方法设置显示菜单
@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.activity_menu,menu);mMenuActionBar=menu;returnsuper.onCreateOptionsMenu(menu);}
完整的dome:
publicclassMainActivityextendsAppCompatActivity{privatebooleanisEdit=false;privateTextViewmEditText;privateMenuItemmMenuItem;privateMenumMenuActionBar;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mEditText=(TextView)findViewById(R.id.edit_text);}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.activity_menu,menu);mMenuActionBar=menu;returnsuper.onCreateOptionsMenu(menu);}@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){switch(item.getItemId()){caseR.id.edit_and_save:if(isEdit){update();}else{update();}returntrue;default:returnsuper.onOptionsItemSelected(item);}}privatevoidupdate(){mMenuItem=mMenuActionBar.findItem(R.id.edit_and_save);mMenuItem.setChecked(true);if(isEdit){mMenuItem.setIcon(android.R.drawable.ic_menu_edit);mEditText.setEnabled(false);}else{mMenuItem.setIcon(android.R.drawable.ic_menu_save);mEditText.setEnabled(true);}isEdit=!isEdit;}}
效果图
更多相关文章
- Android(安卓)studio上设置状态栏为透明 Android5.0
- Android:控件AutoCompleteTextView 自动提示
- Android软键盘弹出,布局没有上移的解决办法
- ViewPager实现一个页面多个Item的显示
- Android(安卓)禁止Edittext弹出系统软键盘 的几种方法
- Android进度条控件ProgressBar使用
- Android设置对话框去除黑边
- 设置无标题&设置不显示状态栏
- Android(安卓)Adapter