绑定事件监听器

来源:互联网 发布:软件研发面试题 编辑:程序博客网 时间: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
原创粉丝点击