MainActivity.java 代码如下:
package com.oazzz.test9; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener { // 事件监听器的几种实现方式 // 1. 内部类形式 // 2. 外部类形式 // 3. Activity 本身作为事件监听器类 // 4. 匿名内部类形式 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView c1 = (TextView) findViewById(R.id.c1); c1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(view.getContext(), "点击了第一行文本!", Toast.LENGTH_LONG).show(); } }); TextView c2 = (TextView) findViewById(R.id.c2); c2.setOnClickListener(new ButtonClickListener()); TextView c3 = (TextView) findViewById(R.id.c3); c3.setOnClickListener(this); } @Override public void onClick(View view) { Toast.makeText(view.getContext(), "点击了第三行文本!", Toast.LENGTH_LONG).show(); } public void clickHandler(View view){ Toast.makeText(view.getContext(), "点击了第四行文本!", Toast.LENGTH_SHORT).show(); } private final class ButtonClickListener implements View.OnClickListener{ @Override public void onClick(View view) { Toast.makeText(view.getContext(), "点击了第二行文本!", Toast.LENGTH_SHORT).show(); } } }
activity_main.xml 代码如下:
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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="com.oazzz.test9.MainActivity"> <TextView android:id="@+id/c1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/c1" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.2" /> <TextView android:id="@+id/c2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/c2" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.4" /> <TextView android:id="@+id/c3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/c3" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.6" /> <TextView android:id="@+id/c4" android:onClick="clickHandler" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/c4" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.8" /> </android.support.constraint.ConstraintLayout>
Android-Studio 中 自动生成重载代码的菜单项在 Generate -> Override Methods...