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布局混乱不堪!

美文美图

时间: 2024-10-12 17:28:47

Android进阶(二十六)MenuInflater实现菜单添加的相关文章

Android进阶(二十八)上下文菜单ContextMenu使用案例

上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等操作,但是现在此操作莫名其妙的消失了.写了个测试Demo,如中图所示,一切按照逻辑显示正常.怪就怪在项目中无法显示,起初设想是因为Android系统版本太高问题,但是在别的手机上测试之后发现问题依旧存在.难道是因为顶部Tab标题栏遮挡住了选项菜单的显示?继续测试,通过在别的没有Tab标题栏的页面测试选项菜单,

Android进阶(二十四)Android UI---界面开发推荐颜色

Android UI---界面开发推荐颜色   在Android开发过程中,总要给app添加一些背景,个人认为使用纯色调便可以达到优雅的视觉效果. 补充一些常用的颜色值:colors.xml <?xml version="1.0" encoding="utf-8" ?> <resources> <color name="white">#ffffff</color><!--白色 --> &

Android笔记二十六.Android异步任务处理(AsyncTask)

转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.引言 我们知道Android的UI线程主要负责处理用户的按键事件.用户触屏事件及屏幕绘图事件等,对于其他的操作尽量不要在UI线程中实现,因为这些操作很有可能会阻塞UI线程,比如一些耗时操作,会导致UI界面停止响应,从而降低了用户的体验.所以,为了避免UI线程失去响应的问题,Android建议将耗时操作放在新线程中完成,但新线程也可能需要动态更新UI组件:比如需要从网上获取一个网页,然后在Te

Android进阶(二十二)设置TextView文字水平垂直居中

设置TextView文字水平垂直居中 有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_TxtTitle.setGravity(Gravity.CENTER); 备注:android:gravity和android:layout_gravity的区别在于前者对控件内部操作,后者是对整个控件操作. 例如:android:gravity="center"是对textView中文字居

Android进阶(二十五)setTextColor()的参数设置方式

setTextColor()的参数设置方式 查了下资料发现setTextColor()的参数可以写成以下形式: 直接使用颜色值 setTextColor(0xFF0000FF);//0xFF0000FF是int类型的数据,分组一下0x|FF|0000FF,0x是代表颜色整数的标记,ff是表示透明度,0000FF表示颜色,注意:这里0xFF0000FF必须是8个的颜色表示,不接受0000FF这种6个的颜色表示. 使用系统自带的颜色类 setTextColor(android.graphics.Co

从零开始学android&lt;ImageSwitcher图片切换组件.二十六.&gt;

ImageSwitcher组件的主要功能是完成图片的切换显示,例如用户在进行图片浏览的时候,可以通过按钮点击一张张的切换显示的图片,而且使用ImageSwitcher组件在每次切换的时候也可以为其增加一些动画的效果,此类定义如下: java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.ViewAnimator ? android.wid

Bootstrap &lt;基础二十六&gt;进度条

Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet Explorer 9 及之前的版本和旧版的 Firefox 不支持该特性,Opera 12 不支持动画. 默认的进度条 创建一个基本的进度条的步骤如下: 添加一个带有 class .progress 的 <div>. 接着,在上面的 <div> 内,添加一个带有 class .prog

二十六、Jcreator使用初步

摘自http://blog.csdn.net/liujun13579/article/details/7751464 二十六.Jcreator使用初步 Jcreator是一个小巧灵活的Java开发工具,它可将Java的程序的编写.编译.运行和调试集成进自身的环境中直接进行开发,且无需进行环境变量的设定.我们可以直接在JCreator中编辑Java源文件,选择相应的菜单和点击对应的按钮就可以完成Java程序的编译.运行等工作,十分方便 由于Jcreator集成了编辑源文件.编译.运行调试为一体,所

Powershell管理系列(二十六)PowerShell操作之批量导出&导入邮箱

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 项目中有时候做跨林邮箱迁移的时候,条件不成熟,比如安全考虑或者其他考虑,不能做双林信任,这样就提出了一个问题,历史邮件需要使用的话怎么办,一个简单高效的解决办法就是从源森林批量导出邮件为.pst文件,在批量导入到目的域森林,具体操作如下: 1.赋予管理账号邮件导入导出权限,命令如下: cls whoami New-Manageme