Android四种点击事件方法
16lz
2021-01-23
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,设置不同的点击事件
更多相关文章
- 关于android读取用户号码,手机串号,SIM卡序列号
- Android代码里或者XML设置android:clickable="false"无效。点击
- Android 按钮点击事件监听的3重方式
- Android BaseAdapter如何获得每一项并添加按钮事件
- Android OnTouchListener 触摸事件 & GestureDetector 手势识别
- [Android] 如何取得版本号码
- Android 实现监听事件的几种方法
- Android 中SpannableStringBuilder控制局部文本颜色和点击事件
- android 通知栏点击事件及8.0适配