Карта инъекции ошибок в кинжале/пропущенных счетов с пользовательскими ключами в руке ViewModelAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Карта инъекции ошибок в кинжале/пропущенных счетов с пользовательскими ключами в руке ViewModel

Сообщение Anonymous »

Я пытаюсь внедрить карту стратегий в мою просмотру, используя рукоять. Каждая стратегия связана с различным классом таблицы, и я использую пользовательскую аннотацию (TableStrateGykey) в качестве ключа карты. < /P>

Код: Выделить всё

@Module
@InstallIn(SingletonComponent::class)
object StrategyModule {

@Provides
@IntoMap
@TableStrategyKey(IncomeAndExpense::class)
fun provideIncomeAndExpenseStrategy(strategy: IncomeAndExpenseUpdateStrategy): TableUpdateStrategy =
strategy

@Provides
@IntoMap
@TableStrategyKey(PaymentStatus::class)
fun providePaymentStatusStrategy(strategy: PaymentStatusUpdateStrategy): TableUpdateStrategy =
strategy

@Provides
@TableStrategies
fun provideTableStrategiesMap(
strategies: Map
): Map {
return strategies
}
}

@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.FUNCTION)
@MapKey
annotation class TableStrategyKey(val value: KClass)

@Qualifier
@Retention(AnnotationRetention.RUNTIME)
annotation class TableStrategies
Я пытаюсь внедрить эту стратегию в мою viewmodel :
@HiltViewModel
class TableScreenViewModel @Inject constructor(
@TableStrategies private val strategies: @JvmSuppressWildcards Map
) : ViewModel()
< /code>
Но я получаю следующую ошибку сборки: < /p>
C:\Users\mar\AndroidStudioProjects\HiltStrategyBug\app\build\generated\hilt\component_sources\debug\com\example\hiltstrategybug\HiltStrategyBugApplication_HiltComponents.java:137: error: [Dagger/MissingBinding] java.util.Map> cannot be provided without an @Provides-annotated method.
public abstract static class SingletonC implements HiltStrategyBugApplication_GeneratedInjector,
^
< /code>
Что я делаю не так? Как я могу исправить эту ошибку и получить рукоятку, чтобы правильно внедрить карту стратегий в мою просмотру? Правильно.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... -viewmodel
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»