ButterKnife8.10的使用详解

来源:互联网 发布:网络彩票概念龙头股 编辑:程序博客网 时间:2024/06/04 18:07

1.ButterKnife的诞生

     ButterKnife是一种最近火热的依赖注解开源框架,是由Square公司JakeWharton大牛开发贡献到github中,感谢大神给我们IT界带来福利,它被大伙称为最好用的View注入工具。

2.ButterKnife的使用详情(我的编译器tools是2.1.0版本)

根据ButterKnife官网解析,请参考jakeWharton大牛的github的分享,接下来我就以自己的理解来抛砖引玉。

1.在整个工程中进行如下配置(build.gradle

<span style="font-size:14px;">buildscript {  repositories {    mavenCentral()   }  dependencies {    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'  }}</span>

  2.在工程module中进行配置

apply plugin: 'android-apt'android {  ...}dependencies {  compile 'com.jakewharton:butterknife:8.2.1'  apt 'com.jakewharton:butterknife-compiler:8.2.1'}

3.然后直接上主代码界面

1>对普通控件的绑定,例如Button,TextView,EditText等

<span style="font-size:14px;">public class MainActivity extends AppCompatActivity {    //按钮注解    @BindView(R.id.mButton)    Button sureBtn;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ButterKnife.bind(this);    }}</span>
2>对ViewHolder的绑定

public class MyAdapter extends BaseAdapter {  @Override public View getView(int position, View view, ViewGroup parent) {    ViewHolder holder;    if (view != null) {      holder = (ViewHolder) view.getTag();    } else {      view = inflater.inflate(R.layout.whatever, parent, false);      holder = new ViewHolder(view);      view.setTag(holder);    }    holder.name.setText("John Doe");       return view;  }  static class ViewHolder {    @Bind(R.id.title) TextView name;    @Bind(R.id.job_title) TextView jobTitle;    public ViewHolder(View view) {      ButterKnife.bind(this, view);    }  }}
3>对Listerner的绑定

@OnClick(R.id.submit)public void submit(View view) {  // TODO submit data to server...}

3.一键生成注解

1.activity_main.xml文件:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"   android:orientation="vertical"    tools:context="cute.zhangxing.com.butterknife.MainActivity">    <Button        android:id="@+id/Btn"        android:layout_width="match_parent"        android:layout_height="wrap_content" />    <TextView        android:id="@+id/tv"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <EditText        android:id="@+id/et"        android:layout_width="match_parent"        android:layout_height="wrap_content" /></LinearLayout>
2.点击File-->settings-->plugins,然后在搜索框搜索ButterKnife,然后会受到Zelezny插件,get it...


3.重启AS,然后鼠标放在activity_main上(图中红色区域)


4..右击选择generate


5.点击Generate ButterKnife Injections,一键生成所有注解


好了,今天就分享到这里,我是张星,欢迎大家的关注。

 

2 0
原创粉丝点击