在活动中使用menu(以及简单地销毁一个活动)
来源:互联网 发布:c 网络编程从哪开始学 编辑:程序博客网 时间:2024/05/22 00:42
在res->new->Directory 起名叫做menu,然后在menu中新建一个名叫main的菜单文件,menu->New->Menu resource file ,之后再main.xml文件中添加如下代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/add_item" android:title="Add"/> <item android:id="@+id/remove_item" android:title="Remove"/></menu>
这里创建了两个菜单项,每一个用id确定了唯一的标识符,title是这个菜单项的名称。
然后我们在FirstActivity中重写这个onCreatOptionsMenu()方法:
@Overridepublic boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main,menu); return ture;}
通过getMenuInflater()能够得到Menuflater对象再调用inflater()方法给当前活动创建菜单。
inflater()方法接受两个参数,第一个参数决定了在哪个菜单里创建menu,这里传入R.menu.main。第二个参数用于指定我们的菜单项会被添加到哪一个menu对象中,这里直接使用onCreatOptionMenu()方法传入的参数menu,然后给这个方法返回true,表示允许传入的menu是可以显示出来的,如果返回了FALSE,创建的菜单将无法显示。
但是这只是创建菜单让菜单显示出来,我们要让菜单真正地可用,因此需要定义菜单响应事件。在FirstActivity中重写onOptionItemSelected()方法:
public boolean onOptionsItemSelected(MenuItem item){ switch(item.getItemId()) { case R.id.add_item: Toast.makeText(this, "You click Add", Toast.LENGTH_SHORT).show(); break; case R.id.remove_item: Toast.makeText(this, "You click Remove", Toast.LENGTH_SHORT).show(); break; default: } return true; }
这里我们添加onOptionItemSelected()方法来让item.getId()方法来判断我们调用的到底是哪一个item,然后给每一个菜单项加入自己处理的逻辑,这里我们选择添加一个弹出的toast。
销毁一个活动:
按back键就可以销毁一个活动,或者,activity类添加了一个finish()方法,在活动中调用这个方法就可以销毁一个活动,我们修改按钮监听器中的方法:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.first_layout); Button button1=(Button) findViewById(R.id.button_1); button1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ finish(); } });这样就好了
- 在活动中使用menu(以及简单地销毁一个活动)
- 第一行代码系列第二章——在活动中使用menu以及销毁一个活动
- 在活动中使用Menu(笔记)
- 在活动中使用menu
- 在活动中使用Menu
- 在活动中使用 Menu
- 在活动中使用menu
- 在活动中使用Menu
- 在活动中使用 Menu
- 在活动中使用Menu
- 在活动中使用menu
- 在活动中使用Menu
- 活动中使用menu
- 活动中使用Menu
- 在活动中使用Menu菜单
- 《android在活动中使用menu》有感
- 活动——在活动使用Menu
- Android 之 activity活动(二、Toast,menu,活动销毁)
- 【AngularJS】使用ng-repeat中$index的注意点
- RabbitMQ官网教程3——发布订阅
- 在(2~100)找到不大于X的最大质数
- canvas绘图详解+demo解释
- <div>/<span>/<label>标签
- 在活动中使用menu(以及简单地销毁一个活动)
- 基于spark排序的一种更廉价的实现方案-附基于spark的性能测试
- 朴素贝叶斯分类器与贝叶斯估计
- HTML中表格的单元格(水平或垂直方向)合并
- 魅族 C++ 微服务框架技术
- 欢迎使用CSDN-markdown编辑器
- linux下awk的基本使用
- 网络安全实验室脚本关第二题
- NSIS添加安装程序版本信息