点击事件的四种方式:
1.在布局文件中,给Button添加点击事件属性:android:onClick="方法名",然后在MainActivity中public void 方法名(View v){处理点击事件}
2.在MainActivity中或的Button的实例后,直接设置监听:用匿名内部类实现OnClickListener
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
点击事件的具体处理;
}
});
3.写一个自定义MyListener实现OnClickListener,然后在MainActivity中或的Button的实例后,button.setOnClickListener(自定义对象)
4.让MainActivity实现接口OnClickListener,然后实现onclick方法,然后在MainActivity中或的Button的实例后,button.setOnClickListener(this),
因为this代表本类对象,而本类又实现了OnClickListener,因此本类对象也是一个,因此可以将本类当做对象传入。
Activity的代码如下:
public class MainActivity extends ActionBarActivity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn_show=(Button) findViewById(R.id.btn_show);
//1.匿名内部类
// btn_show.setOnClickListener(new OnClickListener() {
//
// @Override
// public void onClick(View arg0) {
// // TODO Auto-generated method stub
//
// }
// });
//2.1让this类去实现OnClickListener接口,并实现onClick方法
// btn_show.setOnClickListener(this);
//3.1 自定义一个class类(这里取的类名是show,名字可以自定义)让这个类去实现OnClickListener接口,并实现onClick方法
// btn_show.setOnClickListener(new show());
}
//4. 在布局中Button添加onClick属性(android:onClick="show"),参数是方法名可以自定义,在activity中写好改方法
// 根据Button的id进行操作
// public void show(View view){
// switch (view.getId()) {
// case R.id.btn_show:
// Toast.makeText(getApplicationContext(), "show", 100).show();
// break;
// case R.id.btn_show2:
// Toast.makeText(getApplicationContext(), "show2", 100).show();
// break;
// default:
// break;
// }
// }
//2.2让this类去OnClickListener实现接口,并实现onClick方法
@Override
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.btn_show:
break;
default:
break;
}
}
//3.2 自定义一个class类(这里取的类名是show,名字可以自定义)让这个类去实现OnClickListener接口,并实现onClick方法
// public class show implements OnClickListener{
//
// @Override
// public void onClick(View arg0) {
// // TODO Auto-generated method stub
// }
// }
本文出自 “安卓开发零基础” 博客,请务必保留此出处http://jinchao.blog.51cto.com/9651275/1588947
原文地址:http://jinchao.blog.51cto.com/9651275/1588947