监听器简述

监听器是一个存在于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();
        }
    };

猜你喜欢

转载自blog.csdn.net/LinuxArmbiggod/article/details/85266558