Android四种点击事件方法

android中的按钮点击事件,有四种:

1.内部类

2.匿名内部类

3.布局文件夹定义Onclick属性,并在activity中声明方法

4.在主类中实现OncickListener接口,并在主类中实现未实现的方法

1、内部类

点击事件内部类中,需要给按钮设置事件监听,setOnClickListener()需要指定监听对象,因此需要实现OnClickListener接口,并实现接口中的方法。

//设置第一种点击事件my_btn.setOnClickListener(new MyListener());class MyListener implements View.OnClickListener{      @Override      public void onClick(View v) {          //获取用户号码          String number = my_et.getText().toString();          //判断号码是否为空          if (TextUtils.isEmpty(number) ){              Toast.makeText(MainActivity.this,"请输入您的号码!",Toast.LENGTH_SHORT).show();          }}

2、匿名内部类

直接创建匿名内部类并实现回调函数方法

//设置第匿名内部点击事件my_btn.setOnClickListener(new View.OnClickListener() {       @Override        public void onClick(View v) {        //获取用户号码        String number = my_et.getText().toString();       //判断号码是否为空        if (TextUtils.isEmpty(number) ){              Toast.makeText(SecondOnClickDemo.this,"请输入您的号码!",Toast.LENGTH_SHORT).show();        }        }});

3、布局文件夹定义Onclick属性,并在activity中声明方法

在布局中直接调用点击事件函数

 <Button        android:id="@+id/btn"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@+id/et"        android:text="拨打电话"        android:onClick="btnOnClick"        android:textSize="18sp"/>
public void btnOnClick(View v){    //获取用户号码     String number = my_et.getText().toString();     //判断号码是否为空      if (TextUtils.isEmpty(number) ){             Toast.makeText(MainActivity.this,"请输入您的号码!",Toast.LENGTH_SHORT).show();       }}

4、在主类中实现OncickListener接口,并在主类中实现未实现的方法

public class MainActivity extends Activity implements OnClickListenerbtnButton.setOnClickListener(this);    @Overridepublic void onClick(View v) {//获取用户号码     String number = my_et.getText().toString();     //判断号码是否为空      if (TextUtils.isEmpty(number) ){             Toast.makeText(MainActivity.this,"请输入您的号码!",Toast.LENGTH_SHORT).show();       }   }

此方法实现点击事件监听有不足,需要我们处理。如果一个activity中有多个button点击事件:

btnButton1.setOnClickListener(this);btnButton2.setOnClickListener(this);btnButton3.setOnClickListener(this);

如果上面三个button点击事件,不做相关的业务处理,点击任何与一个button点击事件相关的处理都是执行onClick()方法中的事件处理体。

因此需要传入相应的button的id进行区分处理:

public class MainActivity extends Activity implements OnClickListenerbtnButton1.setOnClickListener(this);btnButton2.setOnClickListener(this);btnButton3.setOnClickListener(this);@Overridepublic void onClick(View v){    int id = v.getId();    switch(id){        case R.id.btnButton1:            break;        case R.id.btnButton2:            break;         case R.id.btnButton3:            break;        default:    }}//以上的case:针对不同的button,设置不同的点击事件

更多相关文章

  1. 关于android读取用户号码,手机串号,SIM卡序列号
  2. Android代码里或者XML设置android:clickable="false"无效。点击
  3. Android 按钮点击事件监听的3重方式
  4. Android BaseAdapter如何获得每一项并添加按钮事件
  5. Android OnTouchListener 触摸事件 & GestureDetector 手势识别
  6. [Android] 如何取得版本号码
  7. Android 实现监听事件的几种方法
  8. Android 中SpannableStringBuilder控制局部文本颜色和点击事件
  9. android 通知栏点击事件及8.0适配

随机推荐

  1. Android进程调度
  2. android编写Service入门用法与教程 (Local
  3. android ratingbar星星大小设定
  4. android 远程调用.NET WCF服务
  5. 【Android Dev Guide - 03】 - Content P
  6. 解开Android应用程序组件Activity的"sing
  7. Binder机制揭秘
  8. Android泡泡聊天界面的实现
  9. Android Studio中Xml的新建及shape绘图
  10. android intent使用方法