Вариант 2 - это всегда хороший подход-> 2. Из фрагмента, A использует обратный вызов от адаптера, поскольку адаптер имеет всю необходимую информацию, такую как положение, объект и т. Д.
"Согласно шаблону MVC адаптер являетсявсегда используется для связывания представления со списками. Таким образом, адаптер всегда должен быть независимым от фрагмента, поэтому принцип единой ответственности всегда будет обрабатываться. Поэтому не должно быть никакой зависимости от адаптера к фрагменту, а от фрагмента к адаптеру. При вызове фрагмента или действияиз адаптера это создаст циклическую зависимость друг с другом, поэтому память не будет очищена, пока вы не закончите приложения. Вы можете вызвать любой метод обратного вызова фрагмента из адаптера, который вызовет нужный фрагмент. "