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