Android开发基础: 使用Activity类继承接口实现多个事件的绑定处理 && 将Activity作为实现类传递给setOnClickListener监听器处理多个事件 && 多态实现接口重写

本文介绍了如何在Android开发中,利用Activity类继承OnClickListener接口并重写方法,以实现多个按钮的事件监听,以及使用多态和Lambda表达式的应用优化。

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

多个事件的监听处理

Android开发基础: 使用Activity类继承接口实现多个事件的绑定处理 && 将Activity作为实现类传递给setOnClickListener监听器处理多个事件 && 多态实现接口重写

对多个按钮进行事件监听,如果我们想匿名内部类实现起来,代码量是不是非常大呢?Lambda表达式也不能写多个逻辑是不是。

那么我们可以使用功能Activity类本类自己实现View.OnClickListener接口,然后在里面重写方法,使用多态实现共用一个方法

package com.liujintao.day01_code.demo;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.liujintao.day01_code.R;

public class Button_Enabled_Acrivity_Demo5 extends AppCompatActivity implements View.OnClickListener {
    private Button btn1, btn2, btn3;
    private TextView tv_textview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button_enabled_acrivity_demo5);

        // 页面一加载,获取所有需要的控件元素
        btn1 = findViewById(R.id.btn1);
        btn2 = findViewById(R.id.btn2);
        btn3 = findViewById(R.id.btn3);
        tv_textview = findViewById(R.id.tv_TextView);

        btn1.setOnClickListener(this);

        btn2.setOnClickListener(this);
        btn3.setOnClickListener(this);
        tv_textview.setOnClickListener(this);
    }


    // 判断需要处理的事件对象
    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.btn1) {
            btn3.setEnabled(true);
            btn3.setTextColor(Color.BLUE);
        } else if (v.getId() == R.id.btn2) {
            btn3.setEnabled(false);
            btn3.setTextColor(Color.GRAY);
        } else if (v.getId() == v.getId()) {
            btn3.setTextColor(Color.BLUE);
            tv_textview.setText("解除禁用,btn3可以使用了!");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MakeItPossibleAlways

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

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

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

打赏作者

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

抵扣说明:

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

余额充值