Сбой при добавлении getActivity () для извлечения данных из хранилища во фрагменте - PullRequest
0 голосов
/ 01 апреля 2019

Когда мне нужен контекст внутри моего фрагмента, я не использую getActivity () в методе firestore, но Иногда код firestore вылетает и выдает мне NullPointer.... чтобы исправить это, я пытаюсь использовать:

.addSnapshotListener(getActivity(), new Event..)

, когда я добавляю это getActivity(), как в примере ниже, оно Всегда NullPointer

public class HomeFragment extends Fragment {

    private FirebaseFirestore firebaseFirestore;
    private FirebaseAuth mAuth;
    private TextView demand;
    private TextView design;


    public HomeFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {


        View view = inflater.inflate(R.layout.fragment_home, container, false);

        firebaseFirestore = FirebaseFirestore.getInstance();
        mAuth = FirebaseAuth.getInstance();

        demand = (TextView) view.findViewById(R.id.home_production_demand_text_count);
        design = (TextView) view.findViewById(R.id.home_production_design_text_count);


        return view;
    }

    // @Override
    // public void onAttach(Context context) {
    //     super.onAttach(context);
    // }

    @Override
    public void onStart() {
        super.onStart();

        if (mAuth.getCurrentUser() != null) {

            // retrieve likes count
            firebaseFirestore.collection("Demand").addSnapshotListener(new EventListener<QuerySnapshot>() {
                @Override
                public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {

                    if (!documentSnapshots.isEmpty()) {

                        int count = documentSnapshots.size(); // count id

                        demand.setText(count);

                    }
                }
            });

            // retrieve likes count
            firebaseFirestore.collection("Design").addSnapshotListener(new EventListener<QuerySnapshot>() {
                @Override
                public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {

                    if (!documentSnapshots.isEmpty()) {

                        int count = documentSnapshots.size(); // count id

                        design.setText(count);
                    }
                }
            });
        }

    }
}

, когдая использую getActivity() этот фрагмент всегда дает сбой, когда я не использую getActivity() когда-нибудь происходит сбой, как это исправить?

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