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);
        }
        
    }

    结果如下:

               

  • 相关阅读:
    三种方法使HTML单页面输入密码才能访问
    JAVA知识汇总
    session 一致性的解决方案
    Debian 9 Stretch国内常用镜像源
    Java开发工具推荐
    Centos配置vsftpd
    [转]php实时输出内容
    php javascript comet
    使用安装 php-memcache-client
    [转]网页实时聊天之js和jQuery实现ajax长轮询 PHP
  • 原文地址:https://www.cnblogs.com/duoting/p/4005259.html
Copyright © 2011-2022 走看看