zoukankan      html  css  js  c++  java
  • 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);
        }
        
    }

    结果如下:

               

  • 相关阅读:
    UVA 10462 Is There A Second Way Left?(次小生成树&Prim&Kruskal)题解
    POJ 1679 The Unique MST (次小生成树)题解
    POJ 2373 Dividing the Path (单调队列优化DP)题解
    BZOJ 2709 迷宫花园
    BZOJ 1270 雷涛的小猫
    BZOJ 2834 回家的路
    BZOJ 2506 calc
    BZOJ 3124 直径
    BZOJ 4416 阶乘字符串
    BZOJ 3930 选数
  • 原文地址:https://www.cnblogs.com/duoting/p/4005259.html
Copyright © 2011-2022 走看看