zoukankan      html  css  js  c++  java
  • 监听事件

    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", "第三种方式");
            
        }
        
        
    }
  • 相关阅读:
    HDU4652 Dice
    CF113D Museum / BZOJ3270 博物馆
    SHOI2013 超级跳马
    最基本的卷积与反演
    NOI2014 动物园题解
    SP11414 COT3
    new to do
    linux C++中宏定义的问题:error: unable to find string literal operator ‘operator""fmt’ with ‘const char [4]’, ‘long unsigned int’ arguments
    新装vs2010的问题:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    windows下删除虚拟串口的方法,以及解决串口使用中,无法变更设备串口号的问题
  • 原文地址:https://www.cnblogs.com/rain-1/p/5144439.html
Copyright © 2011-2022 走看看