首页 > 代码库 > 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事件监听(二)——点击鼠标事件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。