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); } }
结果如下:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。