关于活动——Toast 、Menu、以及活动的销毁

按照上文《安卓四大组件之活动》继续写代码

一、Toast

屏幕中间正下方弹出的文本消息,通常只显示几秒

1、定义触发点

我们将这个按钮当作Toast的触发点,点击按钮就会弹出Toast,在onCreate()中添加:

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) {
                Toast.makeText(FirstActivity.this, "我被点击啦!", LENGTH_SHORT).show();
            }
        });
    }
  • 第四行:findViewById()获取布局文件中定义的元素,返回View对象,通过(Button)让它向下转型为按钮对象后得到实例
  • 第五行:setOnClickListener()将其注册为监听器,点击按钮就会执行onClick()方法
  • 第八行:静态方法makeText()创建出一个Toast对象,然后被show()了出来。其三个参数:
    • ContextToast要求的上下文,活动本身是个Context对象,直接传入本身即可
    • 要显示的文本内容
    • Toast显示的时长,这里可选两个内置常量

2、运行

在这里插入图片描述

二、Menu

1、创建Menu

res目录下新建一个menu文件夹,然后在里面新建名为main的菜单资源文件:
在这里插入图片描述

2、编写Menu

<?xml version="1.0" encoding="utf-8"?>
<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>

<item/>就是一个菜单项,id唯一标识符,title指定名称

3、活动中重写

FirstActivity中重写onCreateOptionsMenu(),按下ctrl+O
在这里插入图片描述
编写代码如下:

public boolean onCreateOptionsMenu(Menu menu) {
	getMenuInflater().inflate(R.menu.main, menu);
	return super.onCreateOptionsMenu(menu);
}
  • 通过getMenuInflater()获得MenuInflater,再调用inflate()就可以给当前活动创建菜单。
  • inflate()第一个参数指明资源文件,第二个参数指明添加到哪个对象

4、给Menu添加事件

继续重写onOptionsItemSelected()方法:

public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    switch (item.getItemId()) {
        case R.id.add_item:
            Toast.makeText(this, "Add按钮", LENGTH_SHORT).show();
            break;
        case R.id.remove_item:
            Toast.makeText(this, "Remove按钮", LENGTH_SHORT).show();
            break;
        default:
    }
    return super.onOptionsItemSelected(item);
}

第二行item.getItemId()来判断是哪个菜单项被点击

5、运行

在这里插入图片描述

三、销毁活动

除了按下back键销毁活动,活动类还提供了finish()方法来销毁当前活动,修改按钮监听器的代码:

button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
	//  Toast.makeText(FirstActivity.this, "我被点击啦!", LENGTH_SHORT).show();
        finish();
    }
});

点击一下就直接返回桌面了:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值