У меня есть макет с вкладками с 2 фрагментами:
1 - Форма для регистрации
2 - Формат для просмотра зарегистрированных документов
Вторая вкладка имеет ListView
data и его код для получения данных:
public class PatologiaListaFragment extends Fragment {
private static final String TAG = "FragmentLista";
private FirebaseFirestore db = FirebaseFirestore.getInstance();
private FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
private CollectionReference usuarios;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_patologias_lista, container, false);
usuarios = db.collection("Usuarios").document(firebaseAuth.getCurrentUser().getUid().toString()).collection("Doencas");
ArrayList<Doenca> doencaArrayList = new ArrayList<Doenca>();
usuarios.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Doenca doenca = document.toObject(Doenca.class);
doencaArrayList.add(doenca); // add data to arraylist adapter
Log.i("Lets moving", doencaArrayList.toString());
Log.d(TAG, document.getId() + " => " + document.getData());
}
ListView listView = (ListView) root.findViewById(R.id.listViewCadastro);
ArrayAdapter adapter = new DoencaAdapter(getActivity(), doencaArrayList);
listView.setAdapter(adapter); //arrayadapter set
} else {
Log.d(TAG, "Erro ao puxar documentos", task.getException());
}
}
});
return root;
}
}
Я получаю данные на ListView
адаптер с моего сервера в Firebase, когда я закрываю и открываю приложение, просмотр списка refre sh, но Мне нужно, чтобы всякий раз, когда вы двигались в одну сторону и вперед (перед вкладкой), вам необходимо обновить адаптер ListView.
Возможно? Или мне нужно перейти на RecyclerView
?