java.lang.NullPointerException:

执行我的应用程序时,我收到以下错误:

java.lang.NullPointerException:无法为 child() 中的参数“pathString”传递 null

但我之前没有收到这个错误。有人可以帮助我吗?

请看错误控制台,以及上面的java代码

消息片段.java


MessagesFragment 中的第一个错误,错误发生在 MessagesDbRef 中,但 firebase 不为空。


public class MessagesFragment extends Fragment {

    private static final String TAG = MessagesFragment.class.getSimpleName();


    private FirebaseAuth mAuth;

    private FirebaseUser user;

    private DatabaseReference userDbRef;

    private DatabaseReference messagesDbRef;

    private DatabaseReference conversationsDbRef;

    private FirebaseRecyclerAdapter firebaseRecyclerAdapter;


    private RecyclerView recyclerViewConversations;

    private Context context;


    ImageView imgViewNoMessages;

    TextView txtNoMessages;


    private String currentUserId;


    public MessagesFragment() {

    }


    @Override

    public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,

                             Bundle savedInstanceState) {

        View messagesView = inflater.inflate(R.layout.fragment_messages, container, false);


        imgViewNoMessages = (ImageView) messagesView.findViewById(R.id.image_no_messages);

        txtNoMessages = (TextView) messagesView.findViewById(R.id.text_no_messages);


        this.context = getContext();


        mAuth = FirebaseAuth.getInstance();

        user = mAuth.getCurrentUser();


        if (user != null) {

            currentUserId = user.getUid();

        }


        recyclerViewConversations = (RecyclerView) messagesView.findViewById(R.id.rv_conversations);


        userDbRef = FirebaseDatabase.getInstance().getReference().child("Users");

        userDbRef.keepSynced(true);


        conversationsDbRef = FirebaseDatabase.getInstance().getReference().child("Chat").child(currentUserId);

        conversationsDbRef.keepSynced( true );


        messagesDbRef = FirebaseDatabase.getInstance().getReference().child("Messages").child(currentUserId);

        messagesDbRef.keepSynced(true);


    }


慕田峪7331174
浏览 223回答 1
1回答

慕慕森

您似乎没有共享类的所有代码。所以我只有猜测;if (user != null) {   currentUserId = user.getUid(); }这些行表示如果用户为空,则 currentUserId 将为空。    conversationsDbRef = FirebaseDatabase.getInstance().getReference().child("Chat").child(currentUserId);在这一行看来,传递的参数currentUserId为 null 并且该 null 是 NullPointerException 的原因
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java