Android 点击事件的四种写法:
2. 采用匿名内部类
缺点:若是点击事件太多,则需要的匿名内部类太多
3. 将 MainActivity 实现 OnClickListener 接口,实际开发中非常常用的写法
优点:可以解决方法 2 的问题
4. 在配置文件中绑定一个点击事件的方法,不常用
activity_main.xml:
MainActivity.java:
1. 以内部类的形式实现 OnClickListener 接口,定义点击事件
class MainActivity extents Activity{
// ...
private class MyListener implements OnClickListener{
public void Onclick(View v){
// ... 点击事件的响应
}
}
}
2. 采用匿名内部类
缺点:若是点击事件太多,则需要的匿名内部类太多
class MainActivity extents Activity{
protected void onCreate(...){
// 以匿名内部类的方式实现
bt_call.setOnClickListener(new OnClickListener{
public void Onclick(View v){
// ... 点击事件的响应
}
});
}
}
3. 将 MainActivity 实现 OnClickListener 接口,实际开发中非常常用的写法
优点:可以解决方法 2 的问题
class MainActivity extents Activity implements OnClickListener{
protected void onCreate(...){
// ...
}
/**
* 点击事件
*/
public void OnClick(View v){
// 根据不同的 Id 来确定完成什么动作
switch (v.getId()){
case R.id.bt_call:
callPhone(); // 自定义函数,拨打电话
break;
....
}
}
}
4. 在配置文件中绑定一个点击事件的方法,不常用
activity_main.xml:
<Button
android:onClick="callPhone" // 绑定该按钮的点击事件,会自动在 Activity 中查找该方法
...
/>
MainActivity.java:
class MainActivity extents Activity {
/**
* 点击事件,此中情况下方法必须带参数 View v
*/
public void callPhone(View v){
// ...
}
}