Android控件监听接口

96 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情 

最近在优化项目代码过程中,关于Button的点击事件的监听器实现有了进一步了解,并找到自己认为最简洁以及让界面整齐的接口——View.OnClickListener。 在之前,我一般是用对要监听的View进行注册,在注册的Listener中用匿名类实现OnClickListener接口的onClick()方法。也可以实现功能(逻辑:为对应的TextView设置点击事件,也就是在Activity中为按钮添加点击事件)代码如下:

bt_sos = (TextView) view.findViewById(R.id.bt_sos);
bt_sos.setOnClickListener(v -> {
    sosUpShow();
});
bt_share = (TextView) findViewById(R.id.bt_share);
bt_share.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        startActivity(new Intent(ProjectActivity.this, KmlListActivity.class));
    }
});

这种适用于初学者或者按钮和内容较少的情况,内容过多的话就很杂乱,不容易找到对应的,所以在完善的过程中,我用到了View.OnClickListener,即定义一个内部接口OnClickListener,然后implements并实现这个接口,而且实现对多个按钮的监听非常方便。直接上代码:

image.png

    Button nowpro = (Button) findViewById(R.id.nowpro);
    Button fewpro = (Button) findViewById(R.id.fewpro);
    nowpro.setOnClickListener(this);//绑定监听器
    fewpro.setOnClickListener(this);//绑定监听器
    nowpro.performClick();
}
@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.nowpro:
            //定义内容
            break;
        case R.id.fewpro:
            //定义内容
            break;
    }
}

好啦,今天的小技巧分享就到这里呀!当然监听还有其他方式,比如在xml文件中添加,不过我觉得View.OnClickListener更省事!