Bir kotlin sınıfına enjekte ettiğimde bu notu yapıda alıyorum (btw, hem kotlin hem de java ile karışık bir android projem var).
Örneğin, bu compileStagingDebugJavaWithJavac
aşamalı görevden sonra: (StagingDebug benim derleme varyantımdır), şu mesajı alıyorum:
"Not: com.packageNameXXX.CourseDiscoveryMapFragment için MembersInjector veya Factory üretiliyor. Bunun yerine hançer işlemcisini bu sınıf üzerinde çalıştırmayı tercih edin."
Benim CourseDiscoveryMapFragment kodu burada görülebilir:
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)
}
Ve ActivityComponent'ım :
@ActivityScope
@Subcomponent(modules = ActivityModule.class)
public interface ActivityComponent {
void inject(BaseActivity baseActivity);
void inject(CourseDiscoveryMapFragment fragment);
//Exposed to sub-graphs.
Activity activity();
}
Bu yüzden, Kotlin'de hançer enjeksiyonları yaparken Java ile yazılmış hançer bileşeni ve modülleri alıyorum.
Bu endişelenmem gereken bir şey mi?
Teşekkür ederim.