1、OnClickListener
监听Button,TextView等控件,当这些控件被点击时,响应相应的事件,通过onClick()方法实现具体的响应
2、实现的三种方式
(1)匿名内部类
实现形式:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
System.out.println("匿名内部类!");
}
});
用于控件较少的情况,在这种情况下不需要单独创建一个OnClickListener类
(2)通过外部类实现
实现形式:
class MyOnClickListener implements OnClickListener{
@Override
//父类方法:让所有点击按钮事件做出同样的动作
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "外部类", Toast.LENGTH_SHORT).show();
}
}
button1.setOnClickListener(new MyOnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
super.onClick(v);
Toast.makeText(MainActivity.this, "点击Button1", Toast.LENGTH_SHORT).show();
}
});
button2.setOnClickListener(new MyOnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
super.onClick(v);
Toast.makeText(MainActivity.this, "点击Button2", Toast.LENGTH_SHORT).show();
}
});
这种方式一般用得比较少
(3)通过接口实现
实现形式:
public class MainActivity extends Activity implements OnClickListener{
button.setOnClickListener(this);
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.xx:
...
...
}
}
}
这种方式一般用于控件较多的情况,通过switch语句,使不同的按钮,响应不同的方式