Android 监听按钮点击事件的三种方式(1:匿名内部类;2:外部类;3:接口方式)
16lz
2021-01-23
Activity.xml 内容如下:
<?xml version="1.0" encoding="utf-8"?>
MainActivity.java 内容如下
package com.example.prace3;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.ImageButton;import android.widget.Toast;public class MainActivity extends Activity implements View.OnClickListener{ private Button btn1; private Button btn2; private ImageButton ibtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = findViewById(R.id.btn1);//以匿名内部类实现监听效果 btn2 = findViewById(R.id.btn2);//以外部类方式实现监听效果 ibtn = findViewById(R.id.ibtn);//以接口方式现监听效果 btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"btn1内部匿名类实现监听效果",1).show(); } }); btn2.setOnClickListener(listener); ibtn.setOnClickListener(this); } //独立类实现 View.OnClickListener listener = new btnOnClickListener(){ @Override public void onClick(View v) { //调用父类的onclick super.onClick(v); Toast.makeText(MainActivity.this,"btn2外部类方式实现监听效果",1).show(); } }; //接口方法 @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"ibtn接口方式现监听效果",1).show(); v.setAlpha(0.3f);//透明度 }}//外部类class btnOnClickListener implements View.OnClickListener{ @Override public void onClick(View v) { Log.i("tag", "父类的onclick事件: "); v.setAlpha(0.5f);//透明度 }}
更多相关文章
- 【Android】实现打开关闭效果
- android adb 关机实现方式
- android遍历map的六种方式
- Android 仿订单出票效果 (附DEMO)
- android动画效果演示
- android中填充界面布局的三种方式
- Android 获取联网方式及代理联网
- 命令方式启动安卓模拟器(M9)
- TextView使用Paint设置下划线删除线效果