我一直在使用butterknife几个月了,我刚刚在它的文档中注意到它说:NowmakesureyouuseR2insteadofRinsideallButterKnifeannotations.这是为什么呢?我一直在使用R,一切都很完美。 最佳答案 只有在构建Android库项目时才需要使用R2。https://github.com/JakeWharton/butterknife#library-projects这与R.java生成的类中的值在构建为库的一部分时未声明为“最终”这一事实有关。用于@BindView()的注释需要这些
我刚开始使用butterknife。在项目中,同事使用了butterknife,版本是7.0.0。我看到他写了@Bind(R.id.tv_name)。但是我看到butterknife官网butterknife版本是8.0.1,语法是@BindView(R.id.tv_name)语法有变化吗?或者两者都可以使用?还是别的?它们之间有什么区别?网上没找到答案希望大家多多帮助,thx! 最佳答案 是的,语法在8.0版中发生了变化。您可以在此处查看更新日志:https://github.com/JakeWharton/butterknife
我正在使用@InjectView来处理我的许多View。在我更新到最新版本7后,它们停止工作了吗?发生了什么事? 最佳答案 您遇到这种情况是因为Butterknife版本7具有一组新的命名约定。您需要更新代码才能使用最新的注释。将@InjectView更改为@Bind。同时将您的Java代码从Butterknife.inject();更改为Butterknife.bind(this)。我假设您在Activity中执行此操作。如果您在fragment中执行此操作或有更复杂的使用场景,您应该查看Butterknife文档here
调用的最佳做法是什么:-Butterknife.unbind()请在自定义AndroidView中? 最佳答案 是的,onDetachedFromWindow是NJ'sanswer中提到的正确函数因为这是View不再有绘图表面的地方。但是答案中错误地提到了用法。正确的方法涉及在onFinishInflate()中进行绑定(bind):@OverrideprotectedvoidonFinishInflate(){super.onFinishInflate();unbinder=ButterKnife.bind(this);}并在on
我想使用AndroidX库,下面是我的ButterknifeGradle设置app:模块依赖implementation'com.jakewharton:butterknife:9.0.0-SNAPSHOT'annotationProcessor'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'插件应用插件:'com.jakewharton.butterknife'项目依赖dependencies{classpath'com.android.tools.build:gradle:3.3.0-alpha09'classpath'co
我需要安装插件ButterKnife。我在哪里可以下载它?我下载了一个.jar插件(但如果文件是我需要的则没有),我已经安装了,但是当我点击“生成”选项时,没有出现使用butterknife的选项。按照视频教程,我修改了文件Gradle构建:我现在拥有它们如下:applyplugin:'android-apt'applyplugin:'com.android.application'android{compileSdkVersionrootProject.ext.compileSdkVersionbuildToolsVersionrootProject.ext.buildToolsVe
我想使用ButterKnife将我的View绑定(bind)到listViewadpater中。我试过了,但我不能简单地使用我的“spinner”变量。publicclassWarmSpinnerAdapterextendsArrayAdapter{Contextcontext;publicWarmSpinnerAdapter(Contextcontext,intresource,Warm[]objects){super(context,resource,objects);}@OverridepublicViewgetView(intposition,ViewconvertView,V
我一直在使用Butterknife构建Android应用程序,最近升级到7.0.1。我用新的@Bind功能替换了所有@InjectView和ButterKnife.inject用法,调试构建没有问题,但应用程序崩溃启动发布版本。如果我在build.gradle中将“minifyEnabled”切换为false,那么我可以生成一个工作发布版本。我正在使用Butterknife网站上记录的混淆器配置,但它似乎对我不起作用。我还在我的构建中使用了Dagger、Picasso和Flurry。我的proguard-rules.pro内容:#ButterKnife-keepclassbutterk
您好,我刚刚将ButterKnife库版本8.7.0更新到8.8.0compile'com.jakewharton:butterknife:8.8.0'annotationProcessor'com.jakewharton:butterknife-compiler:8.8.0'并发现:findById(view,id);被弃用了,为什么?改用什么方法?但当将版本恢复到8.7.0(或更早版本)时,弃用警告消失。compileSdkVersion25buildToolsVersion"25.0.3"defaultConfig{applicationId"com.some.app"minSd
在我当前的Android项目中,我使用Butterknife库来绑定(bind)View并为它们使用onClick注释。这一切即使在fragment中也能很好地工作,但现在我正处于找不到解决方案的地步:我将新的ToolBar用作ActionBar并使用SearchView扩展菜单。对于这个SearchView我想使用@OnTextChanged注释但是当我用菜单项Butterknife的ActionView调用绑定(bind)方法时尝试再次重新实例化所有View,当然在ActionView中它找不到RootLayout的任何其他View。那么有没有一种方法可以使用Butterknife