Android Studio 有关 setOnClickListener() 方法的总结

 

?前言

  在 Android Studio 开发中,你会经常和这种代码打交道:

 1 package com.example.activitytest;
 2 public class FirstActivity extends AppCompatActivity {
 3 
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6 
 7         super.onCreate(savedInstanceState);
 8         setContentView(R.layout.first_layout);//给当前的活动加载一个布局
 9         Button btn1 = findViewById(R.id.btn_1);
10 
11         btn1.setOnClickListener(new View.OnClickListener(){
12             public void onClick(View v){
13 
14         });
15     }
16 }

  那么,setOnClickListener() 方法起到什么作用呢?

  在本次代码中,setOnClickListener() 方法为按钮注册一个监听器,点击按钮时就会执行监听器中的 onClick() 方法。

  onClicklistener是一个接口,不能实例化,这就是一个匿名内部类。

?两种方式实现点击事件

  • 用匿名类来实现点击事件

  • 用外部类来实现点击事件

?Code

.java 代码:

 1 package com.example.activitytest;
 2 
 3 import android.os.Bundle;
 4 import android.view.View;
 5 import android.widget.Button;
 6 import android.widget.Toast;
 7 
 8 import androidx.appcompat.app.AppCompatActivity;
 9 
10 public class FirstActivity extends AppCompatActivity {
11 
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14 
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.first_layout);//给当前的活动加载一个布局
17 
18         Button btn1 = findViewById(R.id.btn_1);
19         Button btn2 = findViewById(R.id.btn_2);
20 
21         //用匿名类来实现点击事件的方法
22         btn1.setOnClickListener(new View.OnClickListener(){
23             public void onClick(View v){
24                 Toast.makeText(FirstActivity.this,"用匿名类来实现点击事件",Toast.LENGTH_SHORT).show();
25             }
26         });
27 
28         btn2.setOnClickListener(new MyClick());
29     }
30     //用外部类来实现点击事件的代码如下
31     class MyClick implements View.OnClickListener{
32 
33         @Override
34         public void onClick(View v) {
35             Toast t = Toast.makeText(FirstActivity.this,"用外部类来实现点击事件",Toast.LENGTH_SHORT);
36             t.show();
37         }
38     }
39 }

.xml 代码:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical"
 6     android:padding="10dp">
 7 
 8     <Button
 9         android:id="@+id/btn_1"
10         android:layout_width="match_parent"
11         android:layout_height="wrap_content"
12         android:layout_marginTop="10dp"
13         android:background="#33CCCC"
14         android:text="Button_1" />
15 
16     <Button
17         android:id="@+id/btn_2"
18         android:layout_width="match_parent"
19         android:layout_height="wrap_content"
20         android:background="#D54D2B"
21         android:layout_marginTop="10dp"
22         android:text="Button_2"
23         />
24 </LinearLayout>

?运行效果

Android Studio 有关 setOnClickListener() 方法的总结

 

Android Studio 有关 setOnClickListener() 方法的总结

上一篇:iOS 各种边框


下一篇:java安装与环境配置