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" // 绑定该button的点击事件。会自己主动在 Activity 中查找该方法 ... />
MainActivity.java:
class MainActivity extents Activity {
/**
* 点击事件。此中情况下方法必须带參数 View v
*/
public void callPhone(View v){
// ...
}
}