java .lang.String com.google.firebase.firestore.DocumentSnapshot.getString (java .lang.String) для ссылки на пустой объект - PullRequest
0 голосов
/ 15 апреля 2020

Я использую firestore.DocumentSnapshot.getString для извлечения пользовательских данных, и они действительно работают, и я получаю пользовательские данные на интерфейсе, проблема заключается в том, что всякий раз, когда я пытаюсь подписать, происходит, когда sh происходит, когда "задействует виртуальный метод на нуле ссылка на объект "

, пожалуйста, помогите, ребята ...?

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

        View view = inflater.inflate(R.layout.fragment_sttings, container, false);
        firestore = FirebaseFirestore.getInstance();
        emailedit = view.findViewById(R.id.emailedit);
        phoneedit = view.findViewById(R.id.phoneedit);
        useredit = view.findViewById(R.id.useredit);
        chngpass = view.findViewById(R.id.chngpass);
        signin = view.findViewById(R.id.signin);
        signin.setVisibility(View.INVISIBLE);
        signout = view.findViewById(R.id.signout);
        firebaseAuth = FirebaseAuth.getInstance();
        fStore = FirebaseFirestore.getInstance();

        FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
                .setTimestampsInSnapshotsEnabled(true)
                .build();
        fStore.setFirestoreSettings(settings);


        if (firebaseAuth.getCurrentUser() != null) {
            userId = firebaseAuth.getCurrentUser().getUid();
            DocumentReference documentReference = fStore.collection("users").document(userId);
            documentReference.addSnapshotListener(getActivity(), new EventListener<DocumentSnapshot>() {
                @Override
                public void onEvent(@Nullable DocumentSnapshot documentSnapshot,
                                    @Nullable FirebaseFirestoreException e) {

                    phoneedit.setText(documentSnapshot.getString("Phone Number"));
                    useredit.setText(documentSnapshot.getString("Username"));
                    emailedit.setText(documentSnapshot.getString("Email Address"));

                }
            });
        }

        signout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FirebaseAuth.getInstance().signOut();
                Intent signoutint = new Intent(getActivity(), MainActivity.class);
                startActivity(signoutint);
                getActivity().finish();
            }
        });


        return view;
    }
}

начало Cra * sh:

2020-04-15 08:11:47.051 11045-11045/com.example.sendthro E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.sendthro, PID: 11045
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.google.firebase.firestore.DocumentSnapshot.getString(java.lang.String)' on a null object reference
        at com.example.sendthro.settings$1.onEvent(settings.java:70)
        at com.example.sendthro.settings$1.onEvent(settings.java:65)

1 Ответ

0 голосов
/ 15 апреля 2020

Проблема с этим конструктором:) !!

 public settings(){
        //Required empty Constructor
    } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...