刚开始学android没多久,可能写的你们都懂,在这当做一个笔记写下来。
因为只创造一个按钮的话,太简单了,大家总想用它来和人们做交流,所以要设置监听器。
有二种方法,第一种:设置匿名内部类,这也是最常用的。
首先要为按钮添加监听器,
button01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
textView01.setText("button down");
}
});
还有一种匿名内部类的写法:
OnClickListener monter01=new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
textView01.setText("imageButton down");
}
};
imageButton01.setOnClickListener(monter01);
这个写法和内部类有点像,就是定义monter01的时候也用了匿名内部类。
监听器中new了一个OnclickListener的接口,在函数体内要复写onClick方法。这是java里面匿名内部类的写法,不懂的可以查一下。
匿名内部类虽然写起来方便,但是它会使整个代码的结构变得不清晰,如果内部类中要写的代码很多,建议别使用这种方法。
第二种:内部类,先创建一个内部类实现OnclickListener接口,接口中同样要复写Onclick方法。代码如下,函数体内部是你自己得代码。
class MyMonter implements OnClickListener{
@Override
public void onClick(View v){
textView01.setText("imageButton down");
}
}
这里MyMonter就是一个内部类。要是用这个内部类,还要把它绑定到按钮上去。这时又有二种方法。
一.先声明一个MyMonter的对象,然后传给button。代码:
OnClickListener monter01=new MyMonter();
imageButton01.setOnClickListener(monter01);
二。直接new一个MyMonter出来。代码:
imageButton01.setOnClickListener(new MyMonter);
这二种方法都可以。。