Android入门(4):Toast、Menu使用及活动的销毁

上一篇:Android入门(3):活动的基本用法

Toast

在上篇文章中的onCreate()添加一些代码:

@Override
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, "You clicked Button1",
                           Toast.LENGTH_SHORT).show();
        }
    });
}

findViewById方法获取布局文件中定义的元素,返回的是一个View对象,需要向下转型将它转成Button对象。得到button的示例后,我们通过调用setOnClickListener方法为按钮注册一个监听器,因此点击按钮就会执行监听器中的onClick方法。

Toast通过静态方法makeText()创建一个Toast对象,然后调用show()将Toast显示出来,其中需要传入3个参数:

  1. Context:上下文,由于活动本身就是一个Context对象,因此这里直接传入FirstActivity.this
  2. 文本内容
  3. 显示时长
Menu

在res目录新建menu文件夹→在menu中新建main的Menu resource file编写如下代码:

<?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>
    <item
        android:id="@+id/remove_item"
        android:title="Remove"></item>
</menu>

回到活动中重写onCreateOptionsMenu方法

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

通过getMenuInflater方法得到MenuInflater对象,再调用它的inflate()方法给当前活动创建菜单,其中第二个参数用于指定我们的菜单项将添加到哪一个Menu对象中,这里直接使用onCreateOptionsMenu方法中传入的menu参数。返回bool值是否显示创建的菜单

如果要实现菜单的逻辑功能,那么需要重写onOptionsItemSelected方法:

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

结果如图所示:
在这里插入图片描述

销毁一个活动

其实只需要通过点击返回键就可以将该活动销毁,不过也可以通过代码来销毁,我们修改一下button的功能

 @Override
public void onClick(View v) {
    finish(); // 销毁活动
}

总结:

  1. 一些控件都先通过id获取相应的对象然后通过重写方法的方式来实现界面的交互

下一篇:Android入门(5):Intent的使用

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Android开发中,可以使用`onClick`属性来指定一个View的点击事件处理方法。具体使用方法如下: 1. 在布局文件中,给需要绑定点击事件的View添加`android:onClick`属性,值为一个方法名,例如: ```xml <Button android:id="@+id/myButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click me" android:onClick="onButtonClick"/> ``` 2. 在对应的Activity或Fragment中,定义一个与`onClick`属性绑定的方法,例如: ```java public void onButtonClick(View view) { // 处理点击事件 } ``` 需要注意的是,方法名必须与`onClick`属性的值相同,并且方法的参数必须是`View`类型,否则导致运行时异常。 示例代码如下: ```xml <!-- activity_main.xml --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <Button android:id="@+id/myButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click me" android:onClick="onButtonClick"/> </RelativeLayout> ``` ```java // MainActivity.java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onButtonClick(View view) { Toast.makeText(this, "Button clicked", Toast.LENGTH_SHORT).show(); } } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值