Android开发之Button事件实现与监听方法总结

 更新时间:2016年01月06日 09:44:18   作者:零基础  
这篇文章主要介绍了Android开发之Button事件实现与监听方法,结合实例形式总结分析了Android开发中Button事件的两种实现方法以及针对Button控件的几种常用监听方法,需要的朋友可以参考下

本文实例总结了Android开发之Button事件实现与监听方法。分享给大家供大家参考,具体如下:

先来介绍Button事件实现的两种方法

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
<TextView
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:text="@string/hello"
 />
<Button
 android:id="@+id/myButton1"
 android:text=" 按钮1 "
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 />
<Button
 android:id="@+id/myButton2"
 android:text=" 按钮2 "
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 />
</LinearLayout>

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name="hello">Hello World, ButtonDemoActivity!</string>
 <string name="app_name">ButtonDemo</string>
</resources>

第一种:

ButtonDemoActivity.java:

package com.android.ButtonDemo.activity;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class ButtonDemoActivity extends Activity {
 Button myButton1,myButton2;
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  myButton1=(Button)findViewById(R.id.myButton1);
  myButton2=(Button)findViewById(R.id.myButton2);
  //使用匿名类注册Button事件
  myButton1.setOnClickListener(new OnClickListener()
  {
   public void onClick(View v)
   {
    Toast.makeText(ButtonDemoActivity.this, "你点击了按钮1",Toast.LENGTH_LONG).show();
   }
  });
  myButton2.setOnClickListener(new OnClickListener()
  {
   public void onClick(View v)
   {
    Toast.makeText(ButtonDemoActivity.this, "你点击了按钮2",Toast.LENGTH_LONG).show();
   }
  });
 }
}

第二种:

ButtonDemoActivity.java:

package com.android.ButtonDemo.activity;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class ButtonDemoActivity extends Activity {
 Button myButton1,myButton2;
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  myButton1=(Button)findViewById(R.id.myButton1);
  myButton2=(Button)findViewById(R.id.myButton2);
  myButton1.setOnClickListener(new ButtonClick());
  myButton2.setOnClickListener(new ButtonClick());
 }
 //创建一个类,来响应OnClickListener
 class ButtonClick implements OnClickListener
 {
  public void onClick(View v)
  {
   switch (v.getId()) {
   case R.id.myButton1:
    Toast.makeText(ButtonDemoActivity.this, "你点击了按钮1",Toast.LENGTH_LONG).show();
    break;
   case R.id.myButton2:
    Toast.makeText(ButtonDemoActivity.this, "你点击了按钮2",Toast.LENGTH_LONG).show();
    break;
   default:
    break;
   }
  }
 }
}

再来说说Button监听方法

android button控件目前主要有如下几种监听方式:

一个button控件对应一个监听:

Button buttontest;
buttontest = (Button) findViewById(R.id.button1);
buttontest.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
  // TODO Auto-generated method stub
  Log.i("TEST", "button onClick");
 }
});

多个button对应一个监听1:

start = (Button) findViewById(R.id.button1);
stop = (Button) findViewById(R.id.button2);
start.setOnClickListener(mylistener );
stop.setOnClickListener(mylistener );
View.OnClickListener mylistener = new View.OnClickListener() {
  @Override
  public void onClick(View v) {
   switch (v.getId()) {
   case R.id.button1:
    Log.d(TAG, "Start to recorder video\n");
    start_recorde();
    break;
   case R.id.button2:
    Log.d(TAG, "Stop to recorder video\n");
    stop_recorde();
    break;
   default:
    break;
   }
  }
};

多个button对应一个监听2:

public class MainActivity extends Activity implements View.OnClickListener{
 //界面元素
 private Button start;
 private Button stop;
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  start = (Button) findViewById(R.id.button1);
  stop = (Button) findViewById(R.id.button2);
  start.setOnClickListener(this);
  stop.setOnClickListener(this);
 }
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.activity_main, menu);
  return true;
 }
 @Override
 public void onClick(View v) {
  switch (v.getId()) {
  case R.id.button1:
   Log.d(TAG, "Start to recorder video\n");
   break;
  case R.id.button2:
   Log.d(TAG, "Stop to recorder video\n");
   break;
  default:
   break;
  }
 }
}

xml中绑定监听:

<Button
android:id="@+id/button1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:onClick="mybuttonlistener">
</Button>

对应java代码如下:

Button btn = (Button) findViewById(R.id.button1);
public void mybuttonlistener(View target){
 //do something5
}

从个人角度来讲,不推荐使用第四种实现方式。

希望本文所述对大家Android程序设计有所帮助。

相关文章

  • Android实现手机拍照功能

    Android实现手机拍照功能

    这篇文章主要介绍了Android实现手机拍照功能,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • android计算器简单实现代码

    android计算器简单实现代码

    这篇文章主要为大家详细介绍了android计算器的简单实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 浅析android中的线程封装

    浅析android中的线程封装

    下面我就简单的说一下android对线程的c++封装。需要的朋友可以过来参考下。希望对大家有所帮助
    2013-09-09
  • Android视频录制功能的实现步骤

    Android视频录制功能的实现步骤

    这篇文章主要介绍了Android视频录制功能的实现步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Android实现加载等待展示

    Android实现加载等待展示

    这篇文章主要为大家详细介绍了Android实现加载等待展示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • CoordinatorLayout的使用如此简单(Android)

    CoordinatorLayout的使用如此简单(Android)

    这篇文章主要为大家详细介绍了Android CoordinatorLayout的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android Flutter实现任意拖动的控件

    Android Flutter实现任意拖动的控件

    使用flutter开发是需要控件能拖动,比如画板中的元素,或者工具条等,所以本文为大家准备了Flutter实现任意拖动控件的示例代码,希望对大家有所帮助
    2023-07-07
  • Android 二维码 生成和识别二维码 附源码下载

    Android 二维码 生成和识别二维码 附源码下载

    这篇文章主要介绍了Android 生成和识别二维码的方法,提供源码下载,需要的朋友可以参考下。
    2016-06-06
  • 给Android的APK程序签名和重新签名的方法

    给Android的APK程序签名和重新签名的方法

    这篇文章主要介绍了给Android的APK程序签名和重新签名的方法,签名的方法同时也可以针对自制系统ROM,需要的朋友可以参考下
    2016-02-02
  • Android Studio debug.keystore位置介绍

    Android Studio debug.keystore位置介绍

    这篇文章主要介绍了Android Studio debug.keystore位置,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03

最新评论