Android 的点击事件你知道有几种?

本文详细介绍了在Android中实现Button点击事件的四种方法:通过XML指定onClick属性、使用匿名内部类、自定义监听类以及Activity直接实现OnClickListener接口。每种方式都提供了示例代码,帮助开发者更好地理解和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Button 按钮单击事件

(1)第一种点击事件方式

xml文件:在XML文件中显示指定按钮的onClick属性,这样点击按钮时会利用反射的方式调用对应Activity中的click()方法
在这里插入图片描述

<Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮1"
        android:onClick="click"/>

Activity(主要代码):

 private Button button;

 setContentView(R.layout.activity_main);
 button=findViewById(R.id.button1);

   public void click(View View){
        button.setText("按钮1已被点击");
    }

(2)第二种点击事件方式:匿名内部类

在这里插入图片描述

xml文件:

 <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮2"
       />

Activity(主要代码):

 button2.setOnClickListener(new View.OnClickListener() {
            @Override
    public void onClick(View view) {
               button2.setText("按钮2被点击了");
            }
  } );

(3)第三种点击事件方式:自定义单击事件监听类(与第二种类似)

 button3.setOnClickListener(new test() );
  private class test implements View.OnClickListener {
    @Override
    public void onClick(View view) {
         button3.setText("按钮3被点击了");
    }

(4)第四种点击事件方式:继承View.OnClickListener

Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法,在OnClick(View view)方法中用switch-case对不同id代表的button进行相应的处理:

在这里插入图片描述


public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        button4=findViewById(R.id.button4);
        button4.setOnClickListener(this);
        
}
public void onClick(View v) {
     switch (View.getId()) {
            case R.id.button4:
                break;
            case R.id.button5:
                break;
            case R.id.button6:
                break;
            default:
                break;
        }
    }   

后续笔记会持续更新,希望大家给个一键三连!!!!!
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mylife0506

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值