安卓点击事件三种实现方法

220 阅读1分钟

安卓点击事件三种实现方法

package com.example.demo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    private Button button1 , button2 , button3 ,button4 ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getView() ;
        //采用匿名内部类的方式实现按钮点击事件注册
        button1.setOnClickListener(
                new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        button4.setText("第一个按钮被点击");
                    }
                }
        );
        //自定义事件监听器类
        MyClickListener myClickListener = new MyClickListener() ;
        button2.setOnClickListener(myClickListener);

        //第三种lambada表达式
        button3.setOnClickListener(view -> {
            button4.setText("第三个按钮被点击");
        });

    }

    private void getView() {
        button1 = findViewById(R.id.bottom1) ;
        button2 = findViewById(R.id.bottom2) ;
        button3 = findViewById(R.id.bottom3) ;
        button4 = findViewById(R.id.bottom4) ;

    }
    //内部类(第二种实现方法)
    class MyClickListener implements View.OnClickListener{

        @Override
        public void onClick(View view) {
            button4.setText("第二个按钮被点击");
        }
    }

    //重写onClick(第三种实现)
    public void onClick(View view) {
        button4.setText("第三个按钮被点击");
    }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <Button
        android:id="@+id/bottom1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="第一个按钮"/>

    <Button
        android:id="@+id/bottom2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="第二个按钮"/>
    <Button
        android:id="@+id/bottom3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="第三个按钮"/>
    <Button
        android:id="@+id/bottom4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="第四个按钮"/>

</LinearLayout>

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述