监听事件

1:内部类的监听事件 

package com.example.helloandroid;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
    private Button loginButton;
    @Override 
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);   
        /**
         * 找到名字为button1的button的Button
         */
        loginButton = (Button) findViewById(R.id.button1);
        /**
         * 监听事件通过匿名内部类实现
         */
        loginButton.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // 在当前方法中监听点击Button的动作
                System.out.println("我的Button被点击了");
                //然后在控制台就可以看到这句话输出了
            }
        });
    }
    
}

2:自定义外部类的方式实现监听按钮

主文件代码如下:

package com.thinker.onclicklistener;

import android.app.Activity;
import android.os.Bundle;
import android.text.style.SuperscriptSpan;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
//一定要注意我们用的 OnClickListener是在这个包下的,如果导入包错误 ,就不一样咯 
import android.widget.Button;
import android.widget.Toast;
//Toast的功能是暂时显示一段提示,过一段时间就会消失 

public class MainActivity extends Activity {
    private Button bt1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化Button
        bt1 = (Button) findViewById(R.id.button1);
        //为Button设置监听器 
        bt1.setOnClickListener(new MyOnClickListener(){
            //输入 oncl然后 alt+/回车 ,自然会看到自动补全的方法 
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                super.onClick(arg0);
                Toast.makeText(MainActivity.this, "bt1要执行的逻辑 ", 1).show();
            }
        });
    }

}
class MyOnClickListener implements OnClickListener{

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        Log.i("tag", "父类的OnClick事件");
    }

    
    
}

 

3:接口方式监听按钮

package com.example.helloandroid;

import android.app.Activity;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;

public class MainActivity extends Activity implements android.view.View.OnClickListener{private ImageButton imbt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imbt = (ImageButton) findViewById(R.id.imageButton1);
        imbt.setOnClickListener(this);
    }
    
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Log.i("tag", "第三种方式");
        
    }
    
    
}

 

posted on 2016-01-20 11:12  张明明_1  阅读(356)  评论(0编辑  收藏  举报

导航