Dagger2 передать данные в модуль

163
25 февраля 2019, 02:10

Изучаю Dagger2 и столкнулся с проблемой. Пытаюсь внедрить SimpleDateFormatter в RecyclerView.Adapter. Если указать ему pattern в модуле - все работает хорошо. Но я хочу передавать pattern на этапе создания Activity. Сейчас дошел до такого кода, но внутреннее чутье подсказывает что это большой Костыль. Помогите найти более элегантное и конструкторски правильное решение.

//Activity
....
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
    adapter = new RecyclerViewAdapter(DaggerAdapterComponent.builder()
            .dateFormatModule(new DateFormatModule("dd\\MMMM\\yyyy"))
            .build()
    );
    recyclerView.setAdapter(adapter);

//RecyclerView.Adapter
@Inject SimpleDateFormat dateFormater;
@Inject Date currentDate;
public RecyclerViewAdapter(@Nullable AdapterComponent component) {
    if (component == null) {
        component = DaggerAdapterComponent.create();
    }
    component.inject(this);
}

Я не хочу явно передавать pattern в adaper. Я хочу глубже изучить Dagger2 и понять, как это сделать неявно.

READ ALSO
как выровнять карточки css

как выровнять карточки css

есть карточка а внутри нее разное количество контентаКак выровнять все карточки с разным контентом по высоте

181
Глубокое копирование js [дубликат]

Глубокое копирование js [дубликат]

На данный вопрос уже ответили:

359
Почему не инициализируется select fw - Materialize

Почему не инициализируется select fw - Materialize

Подскажите, почему не инициализируется select как в документации? Приходится полностью инициализировать Materialize используя костыль

160
Событие при наведении мыши на фигуру в canvas

Событие при наведении мыши на фигуру в canvas

В canvas нарисованы две фигуры, подскажите можно ли обрабатывать событие при наведении мыши на фигуру без использования сторонних библиотек...

222