Когда мне нужен контекст внутри моего фрагмента, я не использую 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()
когда-нибудь происходит сбой, как это исправить?