Изучаю 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 и понять, как это сделать неявно.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости