• Android事件监听(二)——点击鼠标事件


    Button、ImageButton事件监听(setOnClickListener)

     方法一:通过匿名内部类实现

    代码如下:

    package com.note.demo2;
    
    
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    
    public class MainActivity extends ActionBarActivity {    
        //声明登录按钮loginButton
        private Button loginButton;
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //初始化按钮,把xml中的按钮赋值给声明的变量 ,通过R的ID寻找。
            //findViewById返回的是一个view对象,要转换成button对象,设置一个button监听对象。
            loginButton=(Button) findViewById(R.id.button1);
            
    //        1、监听事件通过匿名内部类实现
            loginButton.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    //在当前onClick方法中监听点击button动作
                    show("通过内部类实现,你点击我了哦");
                }
            });
    }
    public void show(String str){ Toast toasts=Toast.makeText(this,str , Toast.LENGTH_SHORT); toasts.show(); } public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }

    结果:

     

    方法二:通过独立类实现

    package com.note.demo2;
    
    
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.view.Gravity;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.Toast;
    
    public class MainActivity extends ActionBarActivity {
    
        //声明登录按钮loginButton
        private Button loginButton;
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //初始化按钮,把xml中的按钮赋值给声明的变量 ,通过R的ID寻找。
            //findViewById返回的是一个view对象,要转换成button对象,设置一个button监听对象。
            loginButton=(Button) findViewById(R.id.button1);
    
            //  2、监听事件通过独立类实现
            loginButton.setOnClickListener(listener);
        }
            OnClickListener  listener=new OnClickListener() {
                public void onClick(View v) {
                    show("通过独立类实现,你点击我了哦");
                }
            };
        public void show(String str){
            Toast toasts=Toast.makeText(this, str, Toast.LENGTH_SHORT);
            toasts.setGravity(Gravity.TOP, 0, 220);
             toasts.show(); 
            
        }
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
        public boolean onOptionsItemSelected(MenuItem item) {
            
            int id = item.getItemId();
            if (id == R.id.action_settings) {
                return true;
            }
            return super.onOptionsItemSelected(item);
        }
    }

    结果如下:

    方法三:通过接口的方式实现事件监听  

    package com.note.demo2;
    
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.view.Gravity;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.Toast;
    
    public class MainActivity extends ActionBarActivity implements OnClickListener {
    
        //声明登录按钮loginButton
        private Button loginButton;
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //初始化按钮,把xml中的按钮赋值给声明的变量 ,通过R的ID寻找。
            //findViewById返回的是一个view对象,要转换成button对象,设置一个button监听对象。
            loginButton=(Button) findViewById(R.id.button1);
            
            //通过实现接口的方法实现监听事件
    
            loginButton.setOnClickListener(this);
          }
            public void onClick(View v) {
                show("通过实现接口的方法实现");
            }
            
        public void show(String str){
            Toast toasts=Toast.makeText(this, str, Toast.LENGTH_SHORT);
            toasts.setGravity(Gravity.TOP, 0, 220);
             toasts.show(); 
            
        }
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
        public boolean onOptionsItemSelected(MenuItem item) {
            int id = item.getItemId();
            if (id == R.id.action_settings) {
                return true;
            }
            return super.onOptionsItemSelected(item);
        }
        
    }

    结果如下:

               

  • 相关阅读:
    数据结构与算法——认识O(NlogN)的排序(2)
    数据结构与算法——简单排序算法(2)
    数据结构与算法——认识O(NlogN)的排序(1)
    论文翻译——Attention Is All You Need
    论文翻译——Character-level Convolutional Networks for Text Classification
    研究NLP100篇必读的论文---已整理可直接下载
    kaggle——绝地求生游戏最终排名预测
    tab栏切换
    css兄弟选择器(+ 和 ~)的使用和区别
    cookie和web storage的区别
  • 原文地址:https://www.cnblogs.com/duoting/p/4005259.html
Copyright © 2020-2023  润新知