看到一个项目中使用了ButterKnife这个工具,
在创建Viewholder的部分代码:
public FaxianCenterViewHolder(View itemView) {
super(itemView);
ButterKnife.inject(this, itemView);
mDatas = FaxianData.createDatas();
initData();
mTv.setOnClickListener(this);
mIvArrow.setOnClickListener(this);
}
这里的ButterKnife.inject(this, itemView);
到底是干嘛呢?起到什么作用?
如果不用这个工具,用一般的写法怎么写呢?
求解决疑惑。官方文档对这部分似乎也没有写。
没有学习MVC设计模式,对注入的概念也不是很懂
当依赖的jar是butterknife-6.1.0.jar时大家普遍用ButterKnife.bind(this),因为这个包中根本就没有ButterKnife.inject(this)或者ButterKnife.inject(this, view)方法,当依赖的jar是butterknife-7.0.1.jar时会有ButterKnife.inject(this)或者ButterKnife.inject(this, view),而且一般也都这样写。
方法的意思大概就是绑定布局,以达到各种注解能够找到相应控件,例:@Bind(R.id.title) TextView title;
@OnClick(R.id.submit)
public void sayHi(Button button) {button.setText("Hello!");}
你这样理解就好了。