MenuInflater实现菜单添加
前言
之前实现的Android项目中可以实现菜单的显示。但是再次调试项目时发现此功能已无法实现,很是令人费解。难道是因为自己手机Android系统的问题?尝试通过别的手机进行真机调试。
经过在别人的手机上进行测试,发现问题依旧存在。那就是自己的程序有问题了。
实现菜单显示的代码如下:
/** * 添加菜单或子菜单 * * 1.重写onCreateOptionsMenu(Menu menu)方法,在该方法里调用Menu对象的方法来添加菜单项或子菜单 */ @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = new MenuInflater(this); inflater.inflate(R.menu.user_evaluation_activity_menu, menu); return super.onCreateOptionsMenu(menu); } // 2.若希望应用程序能响应菜单项的单击事件,重写onOptionsItemSelected(MenuItem item)方法即可 @Override public boolean onOptionsItemSelected(MenuItem item) { // 得到当前选中的MenuItem的ID, int item_id = item.getItemId(); switch (item_id) { case R.id.ueaMenuItem_pinglun: { // 判断该商品是否存在 Bundle data = new Bundle(); data.putString("barcode", barcode); Intent intent = new Intent(UserEvaluationActivity.this, AddEvaluationActivity.class); intent.putExtras(data); startActivityForResult(intent, 1); } ; break; case R.id.ueaMenuItem_fenxiang: { Intent intent = new Intent(Intent.ACTION_SEND); // 设置分享类型 // intent.setType("image/*"); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_SUBJECT, "Share"); intent.putExtra(Intent.EXTRA_TEXT, "#我正在使用“QuickMark”购物评价分享软件(分享自华强APP)#" + "我对条形码为:" + barcode + "的评价:" + string); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(Intent.createChooser(intent, getTitle())); }; break; case R.id.ueaMenuItem_shuaxin: { GetEvaluationTask dTask = new GetEvaluationTask(); dTask.execute(barcode); }; break; } return true; }
吐槽
看自己之前写的代码,不忍直视。后台逻辑不清晰,前端UI布局混乱不堪!