本框架是基于ViewBinding上使用的, 通过apt自动生成setOnClick代码 Gitee地址:https://gitee.com/liys666666/LOnClickMe Github地址:https://github.com/liys666666/LOnClickMe 简书:https://www.jianshu.com/p/9dcf5ad6dff8
1. 项目根目录下 build.gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' } //添加
}
}
2. app目录下 build.gradle
dependencies {
implementation 'com.gitee.liys666666:LOnClickMe:1.1.20'
annotationProcessor 'com.gitee.liys666666.LOnClickMe:onclickme-compiler:1.1.20'
}
3. Activity 或 Fragment中
//参数1:AClick注解所在对象
//参数2:ViewBinding对象
LOnClickMe.bind(this, binding); //初始化
@AClick(ids = {"btn_activity", "btn_activity2"}, binding = xxxBinding.class)
public void click(View view, String idType) {
switch (idType) {
case "btn_activity":
Toast.makeText(this, "btn_activity", Toast.LENGTH_SHORT).show();
break;
case "btn_activity2":
Toast.makeText(this, "btn_activity2", Toast.LENGTH_SHORT).show();
break;
}
}
说明:
- @AClick中的值, 使用字符串, 是为了避免在module中, R.id.xxx不是常量出现的一些问题.
- 以上代码可通过插件OnClickMe自动生成, 用法类似Butterknife,可以在Android studio上搜索安装
- 插件版本为2.3.0,如果AS上搜索不到,点击此下载
插件效果预览:https://gitee.com/liys666666/LOnClickMe/raw/7de797e31fe9dfe419cf6bdf6b4bdfaa50dc0e5d/OnClickMe.gif