【Android基础】四种点击事件

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测试的时候或者登陆界面之类的。

按钮多的情况我还是选择第四种方法,方便。

关于第三种方法,我感觉最方便,但看了很多代码还是觉得写法不够大众化,感兴趣的朋友可以对此研究研究。相信会有不少收获。

你可能感兴趣的:(android,点击事件)