Мой OnSucsess и OnFailure Listener не работает - PullRequest
0 голосов
/ 14 января 2019

Итак, я хочу получить данные из моей базы данных Firestore и поместить их в массив с объектами, которые я определил в файле Actions.java. Ссылка на БД верна. Объект в БД правильный. Но программа пропускает ОБА слушателей OnSucsess и OnFailure. Что может быть причиной этого?

public class Activity_edit_actions extends AppCompatActivity {
    private FirebaseFirestore db = FirebaseFirestore.getInstance();
    private CollectionReference notebookRef = db.collection("actions");
    private ArrayList<Action> actionList = new ArrayList<Action>();
    List<Action> userActionsList;
    private ActionAdapter adapter;
    Context context = this;
    CollectionReference userDbRef = db.collection("users").document(FirebaseAuth.getInstance().getCurrentUser().getEmail()).collection("actions");
    CollectionReference dbRef = db.collection("actions");
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout_edit_actions);
    getUserActions();
    setUpRecyclerView();
}

private void setUpRecyclerView() {
    Query query = notebookRef.orderBy("priority", Query.Direction.DESCENDING);

    FirestoreRecyclerOptions<Action> options = new FirestoreRecyclerOptions.Builder<Action>()
            .setQuery(query, Action.class)
            .build();

    adapter = new ActionAdapter(options, actionList);

    RecyclerView recyclerView = findViewById(R.id.recycler_view);
    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    recyclerView.setAdapter(adapter);
}

@Override
protected void onStart() {
    super.onStart();
    adapter.startListening();
}

@Override
protected void onStop() {
    super.onStop();
    adapter.stopListening();
}

public void addActionsToLocal(){
    TinyDB tinydb = new TinyDB(context);
}

public void getUserActions(){
    userDbRef.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
        @Override
        public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
            for (QueryDocumentSnapshot documentSnapshot : queryDocumentSnapshots) {
                Action action = documentSnapshot.toObject(Action.class);
                actionList.add(action);
            }
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Log.d("redebug", "onFailure: Retrieving user actions from db failed");
        }
    });

}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...