在活动中使用menu(以及简单地销毁一个活动)

在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()方法:

@Override
public 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();
        }
    });
这样就好了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值