监听器是一个存在于View类下的接口,一般以On**Llistener命名,实现该接口需要复写相应的on(View v)方法(如onClick(View v))。
监听器的三种实现方法:(以OnClickListener为例 : 点击事件监听器)
方法1 :在Activity中定义一个内部类继承监听器接口(这里是OnClickListener)。常见的继承方法如下:
class MyListener implements View.OnClickListener{
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"you have clicked Button2",Toast.LENGTH_SHORT).show();
}
}
或者可以用另外一种方式,即new一个该监听器(OnClickListener)的对象,这个方式与上面的直接继承有异曲同工之妙
private View.OnClickListener MyListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"you have clicked Button2",Toast.LENGTH_SHORT).show();
}
};
例:
Button button_open_lcd = (Button) findViewById(R.id.button_open_lcd); //开背光
Button button_close_lcd = (Button) findViewById(R.id.button_close_lcd); //关背光
//设置监听器
button_open_lcd.setOnClickListener(button_listencer_open_lcd);
button_close_lcd.setOnClickListener(button_listencer_close_lcd);
//监听动作 开背光
public Button.OnClickListener button_listencer_open_lcd = new Button.OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent("android.56iq.intent.action.open_lcd");
MainActivity.this.sendBroadcast(intent);
Toast.makeText(MainActivity.this,"开屏",Toast.LENGTH_SHORT).show();
}
};
//监听动作 关背光
public Button.OnClickListener button_listencer_close_lcd = new Button.OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent("android.56iq.intent.action.close_lcd");
MainActivity.this.sendBroadcast(intent);
Toast.makeText(MainActivity.this,"关屏",Toast.LENGTH_SHORT).show();
}
};