首页 > 代码库 > Android事件监听(二)——点击鼠标事件

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

结果如下:

           

 

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