Как единоразово вытащить список объектов из Firebase?
В классе TargetListFragment.java я вытаскиваю список данных из Firebase и сразу добавляю их в адаптер для recycleview и нормально вывожу список фрагментов на экран:
private void updateUI() {
ValueEventListener vListener = new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if(listData.size() > 0)listData.clear();
for (DataSnapshot ds : snapshot.getChildren()) {
target = ds.getValue(Target.class);
assert target != null;
listData.add(target);
}
if (mAdapter == null) {
mAdapter = new TargetAdapter(getContext(), listData);
mCrimeRecyclerView.setAdapter(mAdapter);
} else {
mAdapter.setCrimes(listData);
mAdapter.notifyDataSetChanged();
}
updateSubtitle();
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
};
mDatabase.addValueEventListener(vListener);
}
Но дальше при клике на конкретный элемент у меня открывается активити TargetPagerActivity.java с передачей данных в конкретное представление фрагмента:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_target_pager);
mViewPager = (ViewPager) findViewById(R.id.activity_crime_pager_view_pager);
TargetListFragment targetListFragment = new TargetListFragment();
targetListFragment.getmAdapter();
mTargets = ?
FragmentManager fragmentManager = getSupportFragmentManager();
mViewPager.setAdapter(new FragmentStatePagerAdapter(fragmentManager, FragmentStatePagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
@Override
public Fragment getItem(int position) {
Target target = mTargets.get(position);
String crimeId = target.getmId();
return TargetFragment.newInstance(crimeId);
}
@Override
public int getCount() {
return mTargets.size();
}
});
for (int i = 0; i < mTargets.size(); i++) {
if (mTargets.get(i).getmId().equals(crimeId)) {
mViewPager.setCurrentItem(i);
break;
}
}
}
Как мне получить список mTargets здесь? Firebase при установке слушателя получает данные асинхронно, поэтому я никак не могу вытащить данный список наружу. Можно ли мне как-то единоразово вытащить данный список данных всех экземпляров класса модели и использовать повсеместно?