一 匿名内部类的实现代码
package com.example.demo1;
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.view.View.OnClickListener;
public class MainActivity extends Activity {
private Button loginButton; //创建Button控件的对象 loginButton
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//将布局.xml文件引入到activity当中
setContentView(R.layout.activity_main);
/*
* 初始化当前控件
* findViewById返回的是一个View的对象,View是所有控件的父类
*/
loginButton = (Button)findViewById(R.id.button1);
//第一种实现方式 匿名内部类
loginButton.setOnClickListener(new OnClickListener(){
public void OnClickListener(View arg0){
System.out.println("点击按钮");
}); //分号用于结束当前语句,勿忘
} //结束onCreate 方法
} //结束MainActivity 类
二 独立类和通过接口方式实现监听事件
package com.example.demo1;
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.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener{ //继承接口OnClickListener
private Button loginButton;
private ImageButton imgbt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//将布局.xml文件引入到activity当中
setContentView(R.layout.activity_main);
/*
* 初始化当前控件
* findViewById返回的是一个View的对象,View是所有控件的父类
*/
loginButton = (Button)findViewById(R.id.button1);
imgbt = (ImageButton)findViewById(R.id.imageButton1);
//第二种实现方式 独立类
loginButton.setOnClickListener(listener); 访问创建的listener 对象
//第三种方式 通过实现接口来实现监听事件
imgbt.setOnClickListener(this ); //this关键字表示访问当前类的对象
} //结束onCreate方法体
OnClickListener listener = new OnClickListener() {
public void onClick(View v) {
Log.i("tag","独立类的方式实现了");
}
}; //创建接口对象listener
public void onClick(View v) {
Log.i("tag","第三种方式实现了");
}
} //结束MainActivity 类
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.view.View.OnClickListener;
private Button loginButton;
private ImageButton imgbt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//将布局.xml文件引入到activity当中
setContentView(R.layout.activity_main);
/*
* 初始化当前控件
* findViewById返回的是一个View的对象,View是所有控件的父类
*/
loginButton = (Button)findViewById(R.id.button1);
imgbt = (ImageButton)findViewById(R.id.imageButton1);
//第二种实现方式 独立类
loginButton.setOnClickListener(listener); 访问创建的listener 对象
//第三种方式 通过实现接口来实现监听事件
imgbt.setOnClickListener(this ); //this关键字表示访问当前类的对象
} //结束onCreate方法体
OnClickListener listener = new OnClickListener() {
public void onClick(View v) {
Log.i("tag","独立类的方式实现了");
}
}; //创建接口对象listener
public void onClick(View v) {
Log.i("tag","第三种方式实现了");
}
} //结束MainActivity 类