@SimpleName

Как можно реализовать передачу метода FirebaseDatabase.getInstance().getReference из одного фрагмента в другой?

Есть две кнопке в фрагменте. Каждая из них сейчас ведет на фрагмент с RecyclerView, однако надо сделать так, чтобы в туда загружались полностью разные данные в зависимости от кнопки, по которой выполнен переход. Данные загружаются из Firebase c помощью метода getReference. Получается, что при переходе по первой кнопке должен сработать
mRef = FirebaseDatabase.getInstance().getReference("DataOne");
, а при переходе по второй
mRef = FirebaseDatabase.getInstance().getReference("DataTwo");

Можно ли это сделать, используя лишь один фрагмент? И каким образом? Или надо создавать для кажой кнопки свой фрагмент?
  • Вопрос задан
  • 186 просмотров
Решения вопроса 1
@ivanessence
Android Developer
Передать необходимую строку можно следующим способом:
- Создаём в классе фрагмента статический метод, в который будем передавать строку
public static FragmentSimpleName newInstance(String line) {
        FragmentSimpleName fragment = new FragmentSimpleName ();
        Bundle args = new Bundle();
        args.putString("line", line);
        fragment.setArguments(args);
        return fragment;
    }

- и затем в методе onCreate мы получаем строку, которую передавали
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        String line = getArguments() != null ? getArguments().getString("line") :  "DataOne";
    }

- Создаем фрагмент следующим способом
Fragment newFragment = FragmentSimpleName .newInstance("DataOne");


И далее уже в зависимости от полученной строки настраиваете свой фрагмент. Более подробно тут
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы