Android 点击事件的四种写法:

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){
// ...
}
}

05-04 12:16