问题标签 [butterknife]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 尝试构建时出现重复的类错误
我使用带有 gradle 的 butterKnife 5.1.0。当我尝试构建项目时,gradle 抛出以下异常。
我正在使用黄油刀 jar 文件,并且我在 progaurd 中添加了这 3 行
我在这里错过了什么吗?
android - Dagger and Butter Knife vs. Android 注释
我正在评估 Android 应用程序的依赖注入 (DI) 框架。最有力的竞争者是:Dagger(使用 Butter Knife)和 Android Annotations。我知道 Dagger 和 ButterKnife 来自同一个来源-square,它们相互补充。这是我正在寻找的关键矩阵:
- 易于使用(我们的构建基于 Gradle,我们使用 Android Studio IDE)
- 测试支持(我们使用 Robotium 进行功能测试,使用 RoboLectric 进行单元测试)
- 性能(DI 框架使用反射,哪个更快?)
android - Gradle、Android Studio 和 Butterknife 的编译错误
我已将 Eclipse Android 项目导入 Android Studio,但无法编译并出现以下错误:
我试过添加 apt 插件:
我认为这与Butterknife 有关。但是当我用它做一个干净的项目时,一切都很好。
android - 一些我如何打破黄油刀
一些我如何设法在我的 Eclipse 设置中打破一些东西,这些东西打破了我尝试注入的任何新视图的黄油刀。“旧”观点似乎仍然很好。
这个有效:
这个没有
当我添加新字段时,我在 .apt_generated 下生成的 java 文件中得到了这个
与“旧”字段相比
注意 0 与 2131165280
我收到的错误消息是 map_button 无法解析或不是字段
事实上,如果我在 gen/my_package/R.java 下查看 map_button 没有条目,但 sign_out_button 有一个条目。
我曾多次尝试清理项目并重新启动 ide。任何人对可能出现的问题有任何想法吗?
解决了
事实证明这是一个非常愚蠢的错误。我没有将按钮添加到 xml 文件中。Butterknife 有助于代码注入,但您仍然需要将按钮添加到布局文件中。
android - 在 1 个片段中使用具有 2 个不同视图的 ButterKnife 库
我目前正在尝试使用 Android 的 ButterKnife 库来处理一些样板代码(https://github.com/JakeWharton/butterknife)
我已经设置好了,并让它半工作,但我遇到了一个我无法解决的问题:/
我有一个包含 1 个单个 ListView 元素的 Fragment,我在这个 ListView 上附加了一个包含多个元素的页脚视图。
这是我使用该库的片段中的代码片段:
上面的代码不起作用,因为我只能注入 1 个视图,如果我尝试使用它们(2x 注入),第二个注入会覆盖第一个,留下空值。
我似乎无法使用常规 findViewById() 指定哪个视图包含哪些元素。
澄清一下,这是我的非 ButterKnife 代码(100% 有效):
正如您在上面看到的,我可以指定“rootView”或“footerView”作为 findViewById 的目标。
任何人都可以帮助解决这个问题?因为它现在让我发疯..
android - 在使用 Butterknife 注入的自定义视图中的 Listview 上设置适配器
我在其 Xml 布局文件中有一个带有自定义视图的 Activity:
在此活动的 onCreate 方法中,我使用 Butterknife 注入我的视图:
在我的自定义视图中,我有一个列表视图。在添加 Butterknife 之前,我曾经在onFinishInflate
方法中为 listview 设置适配器:
然而,自从添加 Butterknife 后,我在设置适配器的行上得到了一个 NPE,因为在那个阶段 listview 是 Null。
我的理解是,视图只有Butterknife.inject()
在调用 Activity 中的方法时才会实例化,但这是在视图膨胀之后发生的。我不知道什么时候应该为listView设置适配器。
编辑:我的自定义视图上的子视图似乎为空,即使在utterknife.inject()
活动上被调用也是如此。Butterknife.inject
但是,如果我向我的方法添加调用onFinishInflate
,我会收到一条错误消息java.lang.IllegalStateException: Required view with id '2131034112' for field 'listView' was not found
android - 在 Android Wear 项目中使用 ButterKnife
只是想知道 ButterKnife(这对于普通的 android 开发来说绝对是惊人的)是否可以在 Android Wear 项目中用于诸如 WearableListViews 之类的东西。
由于这样的代码示例(来自磨损示例),我在这个阶段使用它有点犹豫
这表明膨胀东西的最佳时间可能不是像我在普通 android 项目中所做的那样在 onCreate 中。
非常感谢
butterknife - 黄油刀不会注入
这些天我试图在 Android Studio 中使用Butter Knife,但它让我遇到了一些奇怪的问题。我曾经在eclipse上尝试过黄油刀,效果很好。我不知道我是否在 Android Studio 中配置了错误。
我按照 Jake Wharton网站上的说明进行操作,但仍然无法正常工作。一开始可以编译安装,但是安装之后Butterknife.inject(this)
,view还是null,并且抛出空指针错误。然后我在Android Studio上搜索了如何配置Butterknife,并在stackoverflow上关注了这个问题,当时它无法通过编译。
然后我恢复到我的第一个配置版本,它也开始编译失败。这是消息:
Error:(14, 12): @InjectView-annotated class incorrectly in Android framework package. (android.rocky.butterknife_test.MyActivity)
和
Error:Execution failed for task ':app:compileDebugJava'.
Compilation failed; see the compiler error output for details.
这是我的配置app/build.gradle
:
这是我build.gradle
在根目录下的配置:
这是我的 Java 代码:
顺便说一句,我的 android studio 版本是 0.8.2。如果您认为我粘贴的片段都很好,请告诉我粘贴其他片段。非常感谢!
android - Butterknife如何注入actionbar自定义视图?
我在我的项目中使用ButterKnife,它很棒。
我可以通过 ButterKnife.inject(this) 在我的 Activity 中注入内容视图,我还在操作栏中使用自定义视图:
我想在操作栏中包含的视图上绑定 onclick 侦听器。传统方式如下:
预期的黄油刀方式:
在我的情况下如何使用 ButterKnife 方式?
android - 某些设备上的 ButterKnife 注入问题
我无法复制它,但我已经看到这种视图注入崩溃通过 Crashlytics 影响了大约 5-10% 的用户。
该应用程序在我扔给它的所有东西上都能正常工作,但有些用户肯定没有这种体验。
我错过了什么?为什么在某些设备上会发生这种情况,而在同一型号的其他设备上却不会?
受影响的设备包括 Nexus 4 和 Nexus 5。我在两者上都试过了(Nexus 4 是我的主要设备),没有任何问题。一些三星也受到影响。
有任何想法吗?
这是完整的堆栈跟踪,然后是极其简单的类和布局 xml: