android监听器(Listener)的使用
16lz
2021-01-24
为按钮(Button)添加响应事件,需要为其设置监听器(Listener)。本文总结了Android中常用的几种Button Listener。
一.使用匿名内部类
Button button = (Button)findViewById(R.id.button);button.setOnClickListener(new OnClickListener {public void onClick(View v) {System.out.println("使用匿名内部类创建按钮监听器");}});
二.使用内部类
public class ButtonListener extends Activity {public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button)findViewById(R.id.button); MyListener myListener = new MyListener(); button.setOnClickListener(myListener); } class MyListener implements OnClickListener { public void onClick (View v){System.out.println("使用内部类创建按钮监听器"); } }}
三.使用外部类
public class ButtonListener extends Activity {......Button button = (Button)findViewById(R.id.button);button.setOnClickListener(new ButtonListener());}public class ButtonListener implements OnClickListener {public void onClick (View v){System.out.println("使用外部类创建按钮监听器");}}
四.绑定到标签
在布局文件中为Button控件添加属性:
android:onClick="ButtonListener"
然后在java中定义ButtonListener方法
public void ButtonListener (View source) {System.out.println("使用标签属性创建按钮监听器");}
五.接口方式监听按钮点击事件
MainActivity.java的代码如下package cn.edu.nuc.xsc.hsth;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageButton;import android.app.Activity;public class MainActivity extends Activity implements OnClickListener{private Button loginButton;private ImageButton imgBut;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);loginButton = (Button) findViewById(R.id.button);//初始化当前所需要的控件/* * 2.监听事件通过第二种方式实现(独立实现) * */loginButton.setOnClickListener(listener);imgBut = (ImageButton) findViewById(R.id.imageButton);//通过一个实现接口的方式实现监听事件imgBut.setOnClickListener(this);//通过this来访问本生接口下的对象的}OnClickListener listener = new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub//System.out.println("独立类实现的监听事件被触发了");//用log日志的方式输出Log.i("tag", "独立类实现的监听事件被触发了");}};@Overridepublic void onClick(View v) {//Log.i("tag", "接口方式监听按钮点击事件");}}
更多相关文章
- Android之MediaRecorder进行录影
- Android(安卓)ListView中有Button,ItemClick事件失效
- 简叙 Activity 生命周期及android 返回按钮扑捉
- Android菜单的定义及ActionBar的实现
- Android自定义控件按钮
- Android实现点击某个按钮指定位置弹出布局
- Android(安卓)利用方向传感器实现 指南针
- 下拉菜单中自动亮度调节&P 上背光调节