Adroid点击事件的四种实现方式



前言

在安卓开发中,点击事件的监听属于程序员的基操,我们很有必要掌握以下这四种方法。

第一种【定义onClick属性】

基本步骤

  1. 在Button中定义onClick属性,例如: android:onClick=“click”。
  2. 定义click方法。
  3. 编写点击事件

注意:

  1. 访问控制修饰符必须为public。
  2. 返回值类型必须为void。
  3. 方法名必须与onClick属性值一致。
  4. 形参列表有且仅有一个View。

代码实现

xml文件

	<Button
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:text="按钮"
        android:onClick="click"/>

Java代码

    public void click(View v){
   		 //在此处编写点击事件
		Log.d("MainActivity.this","定义onClick属性方式监听事件");
    }

运行效果图
在这里插入图片描述

第二种【匿名内部类监听点击事件】

基本步骤

  1. 为按钮添加id属性,例如:android:id="@+id/button";
  2. 通过findViewById方法找到控件对象;
  3. 编写匿名内部类(new OnClickListener() {});
  4. 绑定监听器。

代码实现

xml代码

    <Button
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:id="@+id/button"
        android:text="按钮"/>

Java代码

	Button btn = (Button) findViewById(R.id.bntton);
	btn.setOnClickListener(new OnClickListener() {
		@Overrid
		public void onClick(View v){
			//在此处编写点击事件
			Toast.makeText(MainActivity.this," 第二种实现方法【匿名内部类监听事件】",Toast.LENGTH_SHORT).show();
	   	}
	 });

运行效果图
在这里插入图片描述

第三种【自定义类实现OnClickListener接口】

基本步骤

  1. 为按钮添加id属性,例如:android:id="@+id/button";
  2. 通过findViewById方法找到控件对象;
  3. 自定义一个类实现View.OnClickListener接口,重写onClick方法;
  4. 绑定监听器。

代码实现

xml代码

	<Button
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:id="@+id/button"
    android:text="按钮"/>

Java代码

	 Button btn = findViewById(R.id.button);                                 
	 btn.setOnClickListener(new MyListener());
	 class MyListener implements View.OnClickListener{                                                              
     @Override                                            
     public void onClick(View v) {                        
                 Log.d("MainActivity.this","自定义类实现OnClickListener接口");    
     }   

运行效果图
在这里插入图片描述

第四种【Activity实现View.OnClickListener接口】

基本步骤

  1. 让Activity实现View.OnClickListener接口并重写onClick方法;
  2. 为按钮添加id属性;
  3. 通过findViewById找到控件对象;
  4. 为控件设置监听器。

代码实现

xml代码

<Button
     android:layout_width="80dp"
     android:layout_height="80dp"
     android:id="@+id/button"
     android:text="按钮"/>

Java代码

public class MainActivity extends AppCompatActivity implements View.OnClickListener {                                                    
                                                                                                                                         
    @Override                                                                                                                            
    protected void onCreate(Bundle savedInstanceState) {                                                                                 
        super.onCreate(savedInstanceState);                                                                                              
        setContentView(R.layout.activity_main);                                                                                          
        //初始化控件                                                                                                                                                                                                                 
        Button button = findViewById(R.id.button);                                                                                          
        //设置监听器                                                                                                                                                                                                               
        button.setOnClickListener(this);                                                                                                                                                                                                                            
    }                                                                                                                                                                                                                                                                    
    @Override                                                                                                                            
    public void onClick(View v) {                                                                                                        
                  Log.d("MainActivity.this","Activity实现OnClickListener接口");                    
    }                                                                                                                                                                                                                                                                   
}  

运行效果图
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值