android里面的点击事件有多种实现方式,下面我着重来讲解常用的四种点击事件。
以短信发送器为例
发送短信的核心代码如下,先添加权限:android.permission.SEND_SMS
//发送短信的核心代码
private void sendMessage() {
//1,获取SmsManager
SmsManager manager = SmsManager.getDefault();
//2,短信内容拆分之后发送
ArrayList<String> list = manager.divideMessage(message);
for(String sms : list) {
manager.sendTextMessage(num, null, sms, null, null);
}
}
普通内部类形式
Button bt = (Button) findViewById(R.id.bt);
bt.setOnClickListener(new MyClick());
//MyClick类
private class MyClick implements OnClickListener {
@Override
public void onClick(View v) {
sendMessage();
}
}
匿名内部类形式
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sendMessage();
}
});
在布局文件中为按钮添加一个Onlick属性:android:onClick=”click”
public void click(View v) {
sendMessage();
}
这一种方法可以在当有多个事件时也可以用switch case像第四种方法一样。
让MainActivity实现OnClickListener,在MainActivity中实现OnClickListener的onClick方法
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.bt : sendMessage();
break;
}
}
粗略总结一下,就是按钮少的时候用匿名内部类会比较快,比如写demo测试的时候或者登陆界面之类的。
按钮多的情况我还是选择第四种方法,方便。
关于第三种方法,我感觉最方便,但看了很多代码还是觉得写法不够大众化,感兴趣的朋友可以对此研究研究。相信会有不少收获。