返回顶部
首页 > 资讯 > 移动开发 >ButterKnife的用法。针对android studio3.6.1 ButterKnife10.0.0
  • 614
分享到

ButterKnife的用法。针对android studio3.6.1 ButterKnife10.0.0

AndroidStudiostudiobutterknifeAndroid 2022-06-06 13:06:30 614人浏览 薄情痞子
摘要

配置 在Android Studio项目中配置使用ButterKnife 本文介绍使用的as版本为3.6.1,ButterKnife版本为10.0.0 1.首先在app的bui

配置

Android Studio项目中配置使用ButterKnife
本文介绍使用的as版本为3.6.1,ButterKnife版本为10.0.0

1.首先在app的build.gradle文件中 dependencies里面添加

dependencies {
  //添加butterKnife的依赖
  implementation 'com.jakewharton:butterknife:10.0.0'
  annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
}

2. 在app的build.gralde文件中,在android下指定jdk的版本。

   //指定jdk的版本
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

3.通过as下载Android ButterKnife Zelezny插件

File-->setting-->plugins  (这里我遇到过一直加载不出来,网络特别慢的情况,我就尝试了好几次,然后进来没有在输入框输入这个插件,一直等插件列表加载完,挑选自己需要的插件安装的。不成功的情况可以多试试几次,或者可以尝试找梯子。我的就是试了好几次成功的)  安装成功后,重启android studio

尝试几次还是安装不行可参考文件https://blog.csdn.net/wwq614003946wwq/article/details/80625971

4.代码中如何使用,举例。MainActivity 中的布局文件。

在Activity的onCreate方法中。setContentView(R.layout.activity_main); 鼠标放在放在R.layout.activity_main布局文件的位置

右键layout->点击Generate->Generate ButterKnife Injections就可以了。会自动绑定控件id,自动加了ButterKnife.bind(this);activity与布局文件建立了绑定。

一般ButterKnife.bind()得到的UnBinder对象。平常写法都是拿到这个对象,全局定义一下,然后在onDestory方法中进行解绑。代码如下。

  private Unbinder unbinder;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        unbinder = ButterKnife.bind(this);
    }
    @Override
    protected void onDestroy() {
        unbinder.unbind();
        super.onDestroy();
    }
}

fragment依旧如此。 fragment进行绑定的代码是


ButterKnife.bind(this, contactsLayout);
 private Unbinder mUnbinder;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        context = getActivity();
        View contactsLayout = inflater.inflate(
                R.layout.fragment_maintab4_layout, container, false);
        mUnbinder = ButterKnife.bind(this, contactsLayout);
        initView(contactsLayout);
}

总结

*** 上面的步骤一添加依赖的时候

最好用10.0.0版本。我之前用的是8.8.1版本的,然后当安装了Android ButterKnife Zelezny插件后就报错。

The given artifact contains a string literal with a package reference 'android.support.v4.content' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.

*** 报错信息。Static interface methods are only supported starting with Android N (--min-api 24): void butterknife.Unbinder.lambda$static$0()

这个错误就是需要添加jdk的依赖。就需要做上面的步骤二,


作者:棒怡情


--结束END--

本文标题: ButterKnife的用法。针对android studio3.6.1 ButterKnife10.0.0

本文链接: https://lsjlt.com/news/29211.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作