Провайдер
@Module
abstract class AddScriptOrContractFragmentProvider {
@ContributesAndroidInjector(modules = [(AddScriptOrContractFragmentModule::class)])
abstract fun provideAddScriptOrContractFragmentFactory(): AddScriptOrContractFragment
}
Модуль
@Module
class AddScriptOrContractFragmentModule {
@Provides
fun provideAddScriptOrContractAdapter(context : Context, addScriptOrContractViewModel: AddScriptOrContractViewModel,manageScrip: ManageScrip): AddScriptOrContractAdapter {
return AddScriptOrContractAdapter(
ArrayList<AddScrip>(),
context,
manageScrip, // ManageScrip is Data class unable to get
addScriptOrContractViewModel
)
}
}
Адаптер
class AddScriptOrContractAdapter(private val mScripResponseList: MutableList<AddScrip>?,
private val context: Context, private val manageScrip: ManageScrip?,
private val viewModel: AddScriptOrContractViewModel) : RecyclerView.Adapter<BaseViewHolder>() {
}
Fragement
mLayoutManager.orientation = LinearLayoutManager.VERTICAL
mAddScriptAdapter = AddScriptOrContractAdapter(scripList, context!!, manageScrip,addScriptOrContractViewModel)
mAddScriptContractBinding.addScriptRecyclerView.layoutManager = LinearLayoutManager(activity)
mAddScriptContractBinding.addScriptRecyclerView.itemAnimator = DefaultItemAnimator()
mAddScriptContractBinding.addScriptRecyclerView.adapter = mAddScriptAdapter
Обнаружение ошибок
error: [dagger.android.AndroidInjector.inject(T)] view.marketWatch.manage.ManageScrip
cannot be provided without an @Inject constructor or from an @Provides-annotated method.
Я пытаюсь сделать привязку данных в адаптере с кинжалом.Я хочу отправить объект, который является классом данных для адаптера, и на этом сделать бизнес войти.Я не понимаю, что я делаю неправильно, когда я отправляю arraylist (), он работает нормально, но когда я пытаюсь отправить объект или строку с ошибкой, пожалуйста, помогите.Танкс заранее