ButterKnife-5.1.2.jar(较低版本的ButterKnife)使用方法

ButterKnife注解是编译时注解,Xutils是运行时注解。很明显编译时注解性能更高

一、先配置好环境

1.在工程上右键,选Properties,然后选Java Compiler,选Annotation Processing,把那三个Enable复选框都勾选上

ButterKnife-5.1.2.jar(较低版本的ButterKnife)使用方法

2.然后选择Factory Path,勾选Enable project specific settings,然后添加ButterKnife的jar包。

ButterKnife-5.1.2.jar(较低版本的ButterKnife)使用方法

二、使用

1.在Activity的onCreate方法中注册ButterKnife,这样Activity里的所有子view都可以进行注册。

     @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(this);
}

不仅仅是Activity中可以注册,其他的例如Fragment,ViewHolder等都可以注册,这里不做演示。

还有种用法,

 public class BaseFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_default, null);
ButterKnife.inject(this,view);

return super.onCreateView(inflater, container, savedInstanceState);
} }

ButterKnife-5.1.2.jar(较低版本的ButterKnife)使用方法

target就是赋值给this,也就是Fragment,source就是从哪里findviewbyid

2.在类中直接注册控件

     @InjectView(R.id.button1)
Button button1;

这样button1就是控件R.id.button1的引用了,后面可以对这个引用进行操作了,比如setText("")等等。

3.也可以注册点击事件

     @OnClick(R.id.button1)
public void onClick(View view){
System.out.println("test");
}

PS:现在已经出了高版本的ButterKnife,注册的方法有所不同

上一篇:Python3中替代Python2中cmp()函数的新函数(gt,ge,eq,le,lt)


下一篇:201521123099《java程序设计》第五周学习总结