问题标签 [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.

0 投票
1 回答
1177 浏览

android - 尝试构建时出现重复的类错误

我使用带有 gradle 的 butterKnife 5.1.0。当我尝试构建项目时,gradle 抛出以下异常。

我正在使用黄油刀 jar 文件,并且我在 progaurd 中添加了这 3 行

我在这里错过了什么吗?

0 投票
8 回答
31424 浏览

android - Dagger and Butter Knife vs. Android 注释

我正在评估 Android 应用程序的依赖注入 (DI) 框架。最有力的竞争者是:Dagger(使用 Butter Knife)和 Android Annotations。我知道 Dagger 和 ButterKnife 来自同一个来源-square,它们相互补充。这是我正在寻找的关键矩阵:

  1. 易于使用(我们的构建基于 Gradle,我们使用 Android Studio IDE)
  2. 测试支持(我们使用 Robotium 进行功能测试,使用 RoboLectric 进行单元测试)
  3. 性能(DI 框架使用反射,哪个更快?)
0 投票
2 回答
1589 浏览

android - Gradle、Android Studio 和 Butterknife 的编译错误

我已将 Eclipse Android 项目导入 Android Studio,但无法编译并出现以下错误:

我试过添加 apt 插件:

我认为这与Butterknife 有关。但是当我用它做一个干净的项目时,一切都很好。

0 投票
0 回答
283 浏览

android - 一些我如何打破黄油刀

一些我如何设法在我的 Eclipse 设置中打破一些东西,这些东西打破了我尝试注入的任何新视图的黄油刀。“旧”观点似乎仍然很好。

这个有效:

这个没有

当我添加新字段时,我在 .apt_generated 下生成的 java 文件中得到了这个

与“旧”字段相比

注意 0 与 2131165280

我收到的错误消息是 map_button 无法解析或不是字段

事实上,如果我在 gen/my_package/R.java 下查看 map_button 没有条目,但 sign_out_button 有一个条目。

我曾多次尝试清理项目并重新启动 ide。任何人对可能出现的问题有任何想法吗?


解决了

事实证明这是一个非常愚蠢的错误。我没有将按钮添加到 xml 文件中。Butterknife 有助于代码注入,但您仍然需要将按钮添加到布局文件中。

0 投票
1 回答
8048 浏览

android - 在 1 个片段中使用具有 2 个不同视图的 ButterKnife 库

我目前正在尝试使用 Android 的 ButterKnife 库来处理一些样板代码(https://github.com/JakeWharton/butterknife

我已经设置好了,并让它半工作,但我遇到了一个我无法解决的问题:/

我有一个包含 1 个单个 ListView 元素的 Fragment,我在这个 ListView 上附加了一个包含多个元素的页脚视图。

这是我使用该库的片段中的代码片段:

上面的代码不起作用,因为我只能注入 1 个视图,如果我尝试使用它们(2x 注入),第二个注入会覆盖第一个,留下空值。

我似乎无法使用常规 findViewById() 指定哪个视图包含哪些元素。

澄清一下,这是我的非 ButterKnife 代码(100% 有效):

正如您在上面看到的,我可以指定“rootView”或“footerView”作为 findViewById 的目标。

任何人都可以帮助解决这个问题?因为它现在让我发疯..

0 投票
1 回答
2448 浏览

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

0 投票
1 回答
426 浏览

android - 在 Android Wear 项目中使用 ButterKnife

只是想知道 ButterKnife(这对于普通的 android 开发来说绝对是惊人的)是否可以在 Android Wear 项目中用于诸如 WearableListViews 之类的东西。

由于这样的代码示例(来自磨损示例),我在这个阶段使用它有点犹豫

这表明膨胀东西的最佳时间可能不是像我在普通 android 项目中所做的那样在 onCreate 中。

非常感谢

0 投票
1 回答
3924 浏览

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。如果您认为我粘贴的片段都很好,请告诉我粘贴其他片段。非常感谢!

0 投票
1 回答
4026 浏览

android - Butterknife如何注入actionbar自定义视图?

我在我的项目中使用ButterKnife,它很棒。

我可以通过 ButterKnife.inject(this) 在我的 Activity 中注入内容视图,我还在操作栏中使用自定义视图:

我想在操作栏中包含的视图上绑定 onclick 侦听器。传统方式如下:

预期的黄油刀方式:

在我的情况下如何使用 ButterKnife 方式?

0 投票
1 回答
2501 浏览

android - 某些设备上的 ButterKnife 注入问题

我无法复制它,但我已经看到这种视图注入崩溃通过 Crashlytics 影响了大约 5-10% 的用户。

该应用程序在我扔给它的所有东西上都能正常工作,但有些用户肯定没有这种体验。

我错过了什么?为什么在某些设备上会发生这种情况,而在同一型号的其他设备上却不会?

受影响的设备包括 Nexus 4 和 Nexus 5。我在两者上都试过了(Nexus 4 是我的主要设备),没有任何问题。一些三星也受到影响。

有任何想法吗?

这是完整的堆栈跟踪,然后是极其简单的类和布局 xml:

- WelcomeActivity.java

-activity_welcome.xml