问题标签 [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.
java - 为什么 Butterknife 在匿名类中找不到 ViewHolder?
我有ListView
一个匿名的BaseAdapter
:
在那个匿名类中,我有一个视图持有者:
设置断点确认:Butterknife总是离开该text
字段null
,但直接调用findViewById
可以正常工作。如果我将该ViewHolder
类移出匿名类,使其成为我的主类的成员,Butterknife 就可以正常工作。有人可以解释为什么吗?
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。
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
我不确定它是与代码相关还是依赖和版本相关,我只需要有人指出这个错误背后的可能性
java - 多个dex文件定义Lcom/squareup/javawriter/JavaWriter$Scope;在尝试使用 Dagger 和 dagger-compiler 进行编译时
我在我的应用程序模块 build.gradle 中有这些
当我尝试构建时,我得到了上面的异常(http://i.imgur.com/PMTZwWq.png)
如果我不包括我得到的编译器:
为什么我会收到此异常,应如何解决?
我正在使用安卓工作室。
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 项目中,它们才开始处理。
java - 来自所有片段的 EditText 事件调用
我想知道是否可以保存我在应用程序的所有片段中编写的代码块。
片段中的代码Nro 1
是这样的:
}
如您所见,EditText 名为“ txtRP ”,在事件中onEditorAction
调用函数“ buscaRP() ”。
在其他 3 个片段中是相同的,所以...
如何保存该代码块而不必onEditorAction
在所有片段中声明事件?我可以onEditorAction
在单独的类中创建事件并从那里调用它吗?
提前致谢 !!!
android - Android Studio 限制?
我有一个包含一些模块的相当大的项目。
在其中一个声明为我想使用 Butterknife 的库项目中,Android Studio 在以 Butterknife 样式编写时不会编译代码:
我得到错误属性必须是一个常量
当我不使用 Butterknife 时,相同的编译没有任何问题
我清理了缓存并再次启动了 IDE。没运气。
有趣的是@InjectView 在非库项目中使用时有效(他们使用库项目)
PS:我也尝试直接在控制台编译,同样的问题。
android - 如何将 ButterKnife OnItemClick 与 RecyclerView 一起使用?
正如onItemClick
中不再存在的那样RecyclerView
,ButterKnife 是否仍然能够处理带有@onItemClick
或带有@onClick
注释的项目点击?
如果不是这样,有什么办法可以使用它吗?
android - ButterKnife 的编译错误:错误重复类
构建项目时出现此错误:
错误:重复类:class_name$$ViewInjector
这是我的 build.gradle 文件:
如果我清理项目,它会构建没有错误,但是当我运行项目时,我会收到此错误。
android - Aquery vs ButterKnife 和 Picasso
使用 Aquery 和使用 Butterknife 进行注入和 Picasso 进行异步图像加载有什么区别?
谢谢