每当我注入kotlin类时,我都会在构建中得到这个注释(顺便说一下,我有一个混合的android项目同时使用kotlin和java).
例如,在这个gradle任务之后:compileStagingDebugJavaWithJavac(StagingDebug是我的构建变体),我收到以下消息:
"注意:为com.packageNameXXX.CourseDiscoveryMapFragment生成一个MembersInjector或Factory.更喜欢在该类上运行dagger处理器."
我的CourseDiscoveryMapFragment代码可以在这里看到:
class CourseDiscoveryMapFragment : Fragment(){
@Inject
lateinit var presenter: CourseDiscoveryMapPresenter
lateinit var mapView: MapView
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_discovery_map, container, false)
MapsInitializer.initialize(activity)
mapView = view.mapView
mapView.onCreate(savedInstanceState?.getBundle(BUNDLE_KEY_MAP_STATE))
(activity as BaseActivity)
.activityComponent.inject(this)
}
Run Code Online (Sandbox Code Playgroud)
我的ActivityComponent是:
@ActivityScope
@Subcomponent(modules = ActivityModule.class)
public interface ActivityComponent {
void inject(BaseActivity baseActivity);
void inject(CourseDiscoveryMapFragment fragment);
//Exposed to sub-graphs.
Activity activity();
}
Run Code Online (Sandbox Code Playgroud)
所以,我有用Java编写的匕首组件和模块,同时在Kotlin中进行匕首注射.
这是我应该担心的吗?
谢谢.
我正在尝试将Kotlin添加到我的项目中,我需要使用proguard.我应该向proguard添加哪些规则来支持Kotlin?
谢谢
我正在使用Android的新支持TabLayout.问题是我想在选择标签时使用选择器来更改图标.
我一直在研究源代码,在我看来它永远不会改变视图的状态(因此我不能使用选择器).
有谁知道一些解决方法?
谢谢!
我对使用Android上的MVP保存状态有些怀疑.我将片段/活动定义为视图,然后实现相应的演示者.
我的例子很简单:
我有一些带有复选框和微调器的活动.如果活动被Android系统销毁然后重新创建,我应该在哪里保存这些微调器和复选框状态?在视图?在主持人?
如果在视图上,我应该在视图上还是在演示者上有恢复逻辑?
谢谢!
我想SnackBar从顶部提供动画,而不是显示SnackBar从底部开始的常规行为.这很容易被破解吗?
android android-support-library android-snackbar android-support-design
有没有办法让SnackBar包装其文本内容?
您可以在下面查找我的问题:

正如您所看到的那样,文本以"与我们联系......"结束,它应该显示整个消息.
谢谢!
我正在将findbugs集成到一个混合的java/kotlin项目中.但是,当findbugs作用于生成的jar时,它会发现与通过kotlin文件生成的类相关的错误.
有没有办法避免检查这些类?
谢谢
我正在使用Robolectric测试我的Android应用程序,但我遇到了一个奇怪的情况.会发生的事情是,当我运行一些测试时,使用Robolectric进行的第一次测试比其他测试花费的时间要多得多.它不是来自测试本身,因为我尝试了测试顺序的不同配置,结果是第一次测试总是最慢的.
是Robolectric的设置时间还是类似的东西?提供的任何信息都很有用.
在开发过程中,我想测试系统杀死服务的情况.这是因为我在Android Wear和掌上电脑之间进行通信时失去连接.我认为它与系统杀死一些服务有关.
有没有人建议如何处理这个问题?
我正在尝试遵循MVP模式.但是,我对如何在这种模式下处理适配器和视图持有者有一些疑问.
我应该使用适配器作为演示者吗?有业务逻辑吗?
或者我应该传递处理列表逻辑的演示者实例,然后在与适配器元素进行任何交互时调用演示者的方法?
谢谢
我试图在Realm上对移植进行单元测试.我的主要问题是:如何维护RealmObject的不同模式版本,以便能够创建旧对象的实例,进行迁移,然后根据新的模式版本检查它是否正确?
我开始尝试保留不同的模式版本,但它不会编译,因为对象具有相同的名称,尽管在不同的包上.