一奋早、簡介
injector_tools 是Android開發(fā)中的快速綁定View的工具兜粘,使用注解綁定指定的View或方法绞绒,通過編譯時生成相應(yīng)代碼和方法拦耐,以此可大大減少平常開發(fā)當(dāng)中的工作量耕腾。
二、使用
1.引入庫
首先在Project的Gradle中引入
classpath 'org.liang.plugin:injector_tools:1.0.5'
然后在需要接入此庫的module的Gradle中引入插件
apply plugin: 'com.liang.inject'
2. 綁定View:@BindView(id)
1.在application中綁定
Java代碼
@BindView(R.id.button)
Button button;
@BindView(R.id.imageView)
ImageView imageView;
@BindView(R.id.textView)
TextView textView;
Kotlin代碼
@BindView(R.id.button)
lateinit var button: Button
@BindView(R.id.imageView)
lateinit var imageView: ImageView
@BindView(R.id.textView)
lateinit var textView: TextView
2.在library中綁定
注:在library中由于R文件中的Id不是常量杀糯,所以通過gradle編譯時生產(chǎn)了對應(yīng)的R2文件扫俺,使用時用R2代替R即可
Java代碼
@BindView(R2.id.button)
Button button;
Kotlin代碼
@BindView(R2.id.button)
lateinit var button: Button
3.綁定View的監(jiān)聽方法
目前只支持以下常用的方法:
@OnClick、@OnLongClick固翰、@OnCheckedChanged狼纬、@OnTextChanged、@OnEditorAction
舉個栗子:
以前這樣寫
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
...
現(xiàn)在這樣寫
@OnClick({R.id.button, R.id.imageView,R.id.textView,...})
public void test(View view) {
Log.e("TestActivity", "view: " + view.getId());
...
}
注:方法參數(shù)除了第一個為View時可以省略以外骂际,其余的參數(shù)必須對應(yīng)其監(jiān)聽方法的回調(diào)參數(shù)
最后編輯于 :2019.01.07 11:49:58
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者