当前位置:
文档之家› Android按钮单击事件的四种常用写法总结
Android按钮单击事件的四种常用写法总结
您可能感兴趣的文章:
Android 使用 Intent 传递数据的实现思路与代码 Android 不同 Activity 间数据的传递 Bundle 对象的应用 Android 系列之 Intent 传递对象的几种实例方法 Android 学习笔记--通过 Application 传递数据代码示例
} });
btn2.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) {
// TODO Auto-generated method stub Toast tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT); tst.show(); } }); } }
// 注意 这里没有 @Override 标签 public void onClick(View v) {
// TODO Auto-generated method stub switch (v.getId()) { case R.id.button1:
tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT); tst.show(); break; case R.id.button2: tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT); tst.show(); break; default: break; } } }
xml 文件代码如下:
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button1" />
<Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button2" />
这里在输完 android:的时候按下 Alt+/ 会有 onClick 属性的提示, 但输入到 android:onClick=“ 的地方按下 Alt+/ 并没有提示 onClick 选项,让我突然觉得这里好像有 点问题。
public class TestButtonActivity extends Activity {
Android Activity 之间传递图片(Bitmap)的方法
Android Touch 事件分发过程详解
Android 中捕获 TTextView 文本中的链接点击事件方法
android 中 intent 传递 list 或者对象的方法
Android 中三种注入事件方法比较
这种写法整个代码中都不用声明 button 就可以实现 button 的单击事件。
以上就是四种实现按钮单击事件的方法。
粗略总结一下,就是按钮少的时候用匿名内部类会比较快,比如写 demo 测试的时候或者登 陆界面之类的。
按钮多的情况我还是选择第三种方觉得写法不够大众化。
btn1.setOnClickListener(this); btn2.setOnClickListener(this); }
@Override public void onClick(View v) {
// TODO Auto-generated method stub switch (v.getId()) { case R.id.button1:
Button btn1, btn2;
Toast tst;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(yout.activity_test_button); }
Android 中实现监听 ScrollView 滑动事件
封装的 android 监听手指左右滑动屏幕的事件类分享
Android 事件传递机制
2015-12-12Android checkbox 的 listView 具体操作方法 2012-12-12Android 在高 jar 包版本的工程中修改方法 2013-03-03Android 图片特效处理的方法实例 2015-11-11Android 编程实现获取图片资源的四种方法 2016-02-02Android 实现图片异步加载及本地缓存 2016-01-01Android 仿微信朋友圈实现滚动条下拉反弹效果 2014-02-02android downsample 降低音频采样频率代码 2013-06-06android 中 ProgressDialog 与 ProgressBar 的使用详解 2013-06-06 基于 Android 扫描 sd 卡与系统文件的介绍 2013-03-03listview 里子项有按钮的情况使用介绍
super.onCreate(savedInstanceState); setContentView(yout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1); btn2 = (Button) findViewById(R.id.button2);
// TODO Auto-generated method stub switch (v.getId()) { case R.id.button1:
tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT);
public class TestButtonActivity extends Activity implements OnClickListener {
Button btn1, btn2; Toast tst;
@Override protected void onCreate(Bundle savedInstanceState) {
tst.show(); break; case R.id.button2:
tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT);
tst.show(); break; default: break; } } }
2. 自定义单击事件监听类:
public class TestButtonActivity extends Activity {
Button btn1, btn2; Toast tst;
class MyClickListener implements OnClickListener {
@Override public void onClick(View v) {
3. 最后一种是我今天看到的一种写法,在 XML 文件中“显示指定按钮的 onClick 属性,这 样点击按钮时会利用反射的方式调用对应 Activity 中的 click()方法”
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="Button1" />
super.onCreate(savedInstanceState); setContentView(yout.activity_test_button);
btn1 = (Button) findViewById(R.id.button1); btn2 = (Button) findViewById(R.id.button2);
tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT); tst.show(); break; case R.id.button2: tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT); tst.show(); break; default: break; } } }
btn1.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) {
// TODO Auto-generated method stub Toast tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT); tst.show();
<Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="Button2" />