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", "第三种方式");
            
        }
        
        
    }
  • 相关阅读:
    树形dp--P2014 [CTSC1997]选课
    背包变形--P1759 通天之潜水
    区间dp--P1880 [NOI1995]石子合并
    动态规划--P2758 编辑距离
    筛法--CF449C Jzzhu and Apples
    BZOJ3998: [TJOI2015]弦论(后缀自动机,Parent树)
    BZOJ3530: [Sdoi2014]数数(Trie图,数位Dp)
    BZOJ1444: [Jsoi2009]有趣的游戏(Trie图,矩乘)
    BZOJ1195: [HNOI2006]最短母串(Trie图,搜索)
    BZOJ3238: [Ahoi2013]差异(后缀数组)
  • 原文地址:https://www.cnblogs.com/rain-1/p/5144439.html
Copyright © 2011-2022 走看看