Я новичок в Коине.Я установил все вещи и работает.Но у меня возникают некоторые проблемы, когда я пытаюсь внедрить интерактор и докладчика одновременно.Это не уверен, что это возможно.
Это мой модуль
val applicationModule = module(override = true) {
factory{VoucherImpl(get())}
factory<VoucherContract.Presenter> { (view: VoucherContract.View) -> VoucherPresenter(view, get()) }
}
Это моя деятельность, в которой вводить докладчик
private val presenter: VoucherContract.Presenter by inject { parametersOf(this)}
Это мой докладчик
class VoucherPresenter (private var view: VoucherContract.View?, private var mCodeRechargeInteract : VoucherImpl) : VoucherContract.Presenter, VoucherContract.Callback, KoinComponent {
override fun create() {
view?.initView()
view?.showProgress()
mCodeRechargeInteract.run()
}
.
.
.
Interactorкласс
class VoucherImpl(private var mCallback: VoucherContract.Callback?) : AbstractInteractor() {
.
.
.
контракт
interface VoucherContract {
interface Presenter {
fun create()
fun destroy()
fun checkIfShoppingCartHaveItems()
fun addVoucherToShoppingCart(voucherProduct: Product)
fun onItemClick(product: Product)
}
interface Callback {
fun onResponseVouchers(vouchers: List<Product>?)
fun onError()
}
}
С этим кодом я получаю
No definition found for 'xxx.voucher.VoucherContract$Callback' has been found. Check your module definitions.
Затем я пытаюсь вставить его в модуль и не могу сделатьэто потому, что я получаю: несоответствие типов.Требуется VoucherContract.Callback
Найдено VoucherImpl
factory<VoucherContract.Callback> { (callBack: VoucherContract.Callback) -> VoucherImpl(callBack) }