问题标签 [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 投票
0 回答
1538 浏览

java - 为什么 Butterknife 在匿名类中找不到 ViewHolder?

我有ListView一个匿名的BaseAdapter

在那个匿名类中,我有一个视图持有者:

设置断点确认:Butterknife总是离开该text字段null,但直接调用findViewById可以正常工作。如果我将该ViewHolder类移出匿名类,使其成为我的主类的成员,Butterknife 就可以正常工作。有人可以解释为什么吗?

0 投票
1 回答
200 浏览

java - 在androidstudio中运行TestCases时出现ButterKnife错误

我在 /app/src/androidTest/java/MyHomeActivityTest.java 中的 androidTest 文件夹中创建了一个测试用例作为 MyHomeActivityTest.Java

我在 /app/src/main/java/HomeActivity.java 中有一个 HomeActivity.java 类

在我的 HomeActivity.java 类中,我使用黄油刀进行视图注入。我正在 MyHomeActivityTest.java 中运行 HomeActivity 的测试用例。

但是当我运行测试用例时,测试运行良好,但出现黄油刀的 NoClassDefFound 错误。

我的项目课程是

MyHomeActivityTest.java

构建.gradle

一旦我运行 MyHomeActivityTest 类,它就会给我 NoClassDefFoundError,因为它的超类是 HomeActivity.class,它使用的是 butterKnife。

0 投票
1 回答
267 浏览

android - Dagger + ButterKnife = 无法初始化类 dagger.internal.codegen.ModuleAdapterProcessor

我有一个项目,我使用 ButterKnife 进行视图注入,我刚刚添加了 dagger,但出现以下错误:

说明资源路径位置类型内部编译器错误:java.lang.NoClassDefFoundError:无法在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) R.java /Suggest/gen/com/google/ 处初始化类 dagger.internal.codegen.ModuleAdapterProcessor android/gms 第 0 行 Java 问题

我正在使用 eclipse,我的注释配置中有以下内容:

在此处输入图像描述

注意:我已经正确编写了一个带有@provides ...的@module,然后将其删除,但我仍然遇到相同的编译错误

我按照此评论设置注释处理:

https://github.com/square/dagger/issues/126#issuecomment-11992320

我不确定它是与代码相关还是依赖和版本相关,我只需要有人指出这个错误背后的可能性

0 投票
1 回答
658 浏览

java - 多个dex文件定义Lcom/squareup/javawriter/JavaWriter$Scope;在尝试使用 Dagger 和 dagger-compiler 进行编译时

我在我的应用程序模块 build.gradle 中有这些

当我尝试构建时,我得到了上面的异常(http://i.imgur.com/PMTZwWq.png

如果我不包括我得到的编译器:

为什么我会收到此异常,应如何解决?

我正在使用安卓工作室。

0 投票
0 回答
271 浏览

android - MonkeyTalk 和 Butterknife ViewInjector 生成 - (Android + Annotations + AspectJ + Eclipse)

我一直在成功使用 ButterKnife 在我的应用程序中注入视图,如下所示:

今天早上我集成了 MonkeyTalk 进行一些测试,现在我的注射似乎被破坏了。我已经删除/重新添加了 ButterKnife 的注释处理,但这似乎并没有解决问题。使用 findViewById 解决了问题(找到了视图),但此时将项目更改为直接使用 findViewById 并不是一个真正的选择。

我无法找到有关库之间冲突的任何信息(或通常将 AspectJ 与 ButterKnife 一起使用),因此希望这里的某人可以帮助提供一些关于我可能做错了什么的见解(或者如果它们通常不兼容) .

我正在使用 ButterKnife 4.0.1 和 MonkeyTalk Agent 2.0.9

更新: 我也尝试在 Eclipse 项目属性中更改库的构建顺序,但这似乎也无济于事。

更新: 我将其缩小到不是在 ButterKnife 中创建的生成文件。它似乎与 org.eclipse.ajdt.core.ajbuilder 中未发生的注释处理有关。当我按照此处的建议将 org.eclipse.jdt.core.javabuilder 添加到 .project 时:https://bugs.eclipse.org/bugs/show_bug.cgi?id=169857生成了类,但我得到了.ajc 文件在运行时出现 NoClassDefFoundError。知道如何让注释处理器在 ajbuilder 中运行吗?这似乎是我的问题的正确解决方案。

更新: 从这篇文章(http://andrewclement.blogspot.ca/2014/08/annotation-processing-in-ajdt.html)看来,可以使用 Eclipse 4.4 在同一个项目中处理 Aspects 和 Annotations。然而,似乎 ADT 23 + Eclipse 4.4 + AspectJ 的组合非常不稳定(而且似乎无论如何都不会从 ButterKnife 的注释中生成代码)。任何人都知道Android Studio在这里是否有帮助?

更新: 我将我的项目转换为 Android Studio,看起来 Aspects 和 Annotations 都在工作。我知道我仍然没有对 Aspects 做正确的事情,因为直到我将 Jake Wharton 的Hugo库添加到 Android 项目中,它们才开始处理。

0 投票
0 回答
457 浏览

java - 来自所有片段的 EditText 事件调用

我想知道是否可以保存我在应用程序的所有片段中编写的代码块。

片段中的代码Nro 1是这样的:

}

如您所见,EditText 名为“ txtRP ”,在事件中onEditorAction调用函数“ buscaRP() ”。

在其他 3 个片段中是相同的,所以...

如何保存该代码块而不必onEditorAction在所有片段中声明事件?我可以onEditorAction在单独的类中创建事件并从那里调用它吗?

提前致谢 !!!

0 投票
0 回答
1026 浏览

android - Android Studio 限制?

我有一个包含一些模块的相当大的项目。

在其中一个声明为我想使用 Butterknife 的库项目中,Android Studio 在以 Butterknife 样式编写时不会编译代码:

我得到错误属性必须是一个常量

当我不使用 Butterknife 时,相同的编译没有任何问题

我清理了缓存并再次启动了 IDE。没运气。

有趣的是@InjectView 在非库项目中使用时有效(他们使用库项目)

PS:我也尝试直接在控制台编译,同样的问题。

0 投票
4 回答
10564 浏览

android - 如何将 ButterKnife OnItemClick 与 RecyclerView 一起使用?

正如onItemClick中不再存在的那样RecyclerViewButterKnife 是否仍然能够处理带有@onItemClick或带有@onClick注释的项目点击?

如果不是这样,有什么办法可以使用它吗?

0 投票
2 回答
1066 浏览

android - ButterKnife 的编译错误:错误重复类

构建项目时出现此错误:

错误:重复类:class_name$$ViewInjector

在此处输入图像描述

这是我的 build.gradle 文件:

如果我清理项目,它会构建没有错误,但是当我运行项目时,我会收到此错误。

0 投票
1 回答
579 浏览

android - Aquery vs ButterKnife 和 Picasso

使用 Aquery 和使用 Butterknife 进行注入和 Picasso 进行异步图像加载有什么区别?

谢谢