如何在Android Studio中使用Butterknife插件?

时间:2017-02-28 03:36:36

标签: android android-studio android-activity

我目前正在使用Butterknife插件的项目中工作,我注意到像@BindView(R.id.something)这样的东西。我们如何在应用程序中使用butterknife插件?

3 个答案:

答案 0 :(得分:0)

它将android视图绑定到方法和回调。

它与View.findViewById(R.id.view_name)相同。

要使用该库,您必须在onCreate

中对其进行初始化
ButterKnife.bind(this);

然后,例如声明:

ImageView image = null;

而不是

image = (ImageView)parent.findViewById(R.id.view);

您可以这样做:

@BindView(R.id.view) ImageView image;

答案 1 :(得分:0)

引自http://jakewharton.github.io/butterknife/

  

使用@BindView注释字段并使用Butter Knife的视图ID来查找并自动在您的布局中投射相应的视图。

class ExampleActivity extends Activity {
  @BindView(R.id.title) TextView title;
  @BindView(R.id.subtitle) TextView subtitle;
  @BindView(R.id.footer) TextView footer;

  @Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);
    ButterKnife.bind(this);
    // TODO Use fields...
  }
}

在R.layout.simple_activity中识别您的元素,然后使用@BindView将这些视图与活动中的变量相关联,即绑定。因此,ButterKnife不是必须反复使用findViewById(),而是为您完成所有这些工作。因此,标题,副标题,页脚将指向您布局中的那些元素。

答案 2 :(得分:-1)

查看文档:

http://jakewharton.github.io/butterknife/

您必须在gradle中添加以下行:

compile 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'