Android进阶(二十六)MenuInflater实现菜单添加
Posted No Silver Bullet
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android进阶(二十六)MenuInflater实现菜单添加相关的知识,希望对你有一定的参考价值。
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布局混乱不堪!
美文美图
以上是关于Android进阶(二十六)MenuInflater实现菜单添加的主要内容,如果未能解决你的问题,请参考以下文章
ReactNative进阶(二十六):子组件调用父组件中的函数
跨平台应用开发进阶(二十六) :忐忑悲壮路,心酸出坑史——记第一次iOS艰辛上架路