0Dagger 2: MVVM не может найти модуль - PullRequest
0 голосов
/ 21 сентября 2018

Я новичок в MVVM и Dagger и пытаюсь внедрить MVVM с Dagger 2 и Butterknife в моем приложении.К сожалению, я получаю следующую ошибку:

error: @Modules cannot be scoped. Did you mean to scope a method instead?

Я получаю эту ошибку, когда я пытаюсь создать свой синглтон ViewModelModule.Вот мой класс:

@Singleton
@Module
public abstract class ViewModelModule { ... }

Я использую «ViewModelModule» в моем «ApplicationModule», который выглядит так:

 @Singleton
 @Module(includes = ViewModelModule.class)
 public class ApplicationModule { ... }

Если я удаляю аннотацию «Singleton», все работает нормально,Но чего мне не хватает?Что я делаю не так?

1 Ответ

0 голосов
/ 21 сентября 2018

Модули не должны быть синглетонами, синглтоны могут быть зависимостями, предоставляемыми модулями.Например:

@Module
public class ViewModelModule { 
    @Provides 
    @Singleton
    public String provideFoo() {
        return "Foo";
    }
}

Итак, удалите аннотацию @singleton из объявления ваших модулей.

...