绑定事件监听器
来源:互联网 发布:软件研发面试题 编辑:程序博客网 时间:2024/05/22 06:48
今天培训了关于绑定事件监听器的方法,现做出如下总结:
1,直接绑定到标签。在.xml文件中定义一个按钮,将按钮作为事件源,里面为Button按钮绑定一个事件处理方法click。切记要先在Button里绑定事件处理方法这样在Activity中定义方法才有效。
<Button android:id="@+id/btn_click" android:text="跳转到第二个Activity" android:layout_width="match_parent" android:onClick="click" android:layout_height="wrap_content"/>
然后在.java文件中实现click方法
public void click(View v){Intent intent = new Intent(); intent.setClass(MainActivity1.this,SecondActivity.class);startActivity(intent); }
2,外部类作为事件监听器类。在.java文件中定义一个单击事件的监听器,onClick()方法为实现监听器类必须实现的方法,该方法将作为事件处理器
class OnclickListener implements View.OnClickListener{ @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClass(MainActivity1.this,SecondActivityclass); startActivity.(intent); }}
还要为按钮绑定事件监听器,这样在触发按钮后会跳转到第二个Activity,在绑定按钮监听器之前要先找到按钮
btnClick=(Button)findViewById(R.id.btn_click);
btnClick.setOnClickListener(new OnclickListener());
3,通过使用匿名内部类的实例作为事件监听器
btnClick=(Button)findViewById(R.id.btn_click);btnClick.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClass(MainActivity1.this,SecondActivity.class); startActivity(intent); } });
使用内部类可以在当前类中复用监听器类,并且可以自由访问外部类的所有界面组件。大部分的事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适。
4,Activity本身作为事件监听器类,注意需要实现监听器接口OnClickListener
btnClick.setOnClickListener(this);
public void onClick(View v) {Intent intent = new Intent(); intent.setClass(MainActivity1.this,SecondActivity.class);startActivity(intent);}
Activity的主要职责是完成界面初始化工作,但此时还需要包含事件处理器的方法,因此容易造成程序结构上的混乱。
综合以上四种绑定事件监听器的方法,我认为用直接绑定到标签方法更简单,当然,对于不同的情况选择合适的监听器方法。
0 0
- 绑定事件监听器
- 感知SessioSession 绑定的事件监听器
- session绑定的事件监听器的应用(统计在线用户)
- Android控件之Button点击事件监听器的绑定
- 事件监听器
- 事件监听器
- 事件监听器
- 事件监听器
- 事件监听器
- 事件监听器
- 事件监听器
- 事件监听器
- 事件监听器
- 【事件绑定的方式】兼容浏览器的事件监听器的设计
- 为控件绑定监听器
- 使用jquery mobile Collapsible Widget 时绑定expand,collapse事件监听器的方法
- android studio for android learning (十八) android事件监听器绑定的方法详解
- BUTTON事件监听器-经典
- Linux学习之路-03-Tomcat服务器环境搭建
- 锐捷s3550的配置命令
- 降维(一)----说说主成分分析(PCA)的源头
- Gradle中给SpringBoot指定active profile
- JS实现八种焦点轮播图(上)
- 绑定事件监听器
- 将数组作为参数传递(C# 编程指南)
- 欢迎使用CSDN-markdown编辑器
- 降维(二)----Laplacian Eigenmaps
- Redis非常重要的安全性配置
- 一枚KeyGenMe分析
- No result defined for action com.buaa.spring_test.action.TestAction and result input
- matlab显示的图片,手动保存时四周有白边
- (数据结构)排序--直接插入排序