Good day everyone! I have a problem the app crash and it has an error
java.lang.NullPointerException: Can't pass null for argument 'pathString' in child()
at com.google.firebase.database.DatabaseReference.child(Unknown Source:6)
at com.example.jasper.happy_paws.CommentAdapter.getUserInfo(CommentAdapter.java:95)
at com.example.jasper.happy_paws.CommentAdapter.onBindViewHolder(CommentAdapter.java:51)
at com.example.jasper.happy_paws.CommentAdapter.onBindViewHolder(CommentAdapter.java:26)
at android.support.v7.widget.RecyclerView$Adapter
I dont see anyproblem with my adapter here is my code
public class CommentAdapter extends RecyclerView.Adapter<CommentAdapter.ViewHolder> {
private Context mContext;
private List<CommentModel>mComment;
private FirebaseUser firebaseUser;
public CommentAdapter(Context mContext, List<CommentModel> mComment) {
this.mContext = mContext;
this.mComment = mComment;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mContext).inflate(R.layout.comment_items, parent, false);
return new CommentAdapter.ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int i) {
firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
final CommentModel commentModel = mComment.get(i);
holder.comment.setText(commentModel.getComment());
getUserInfo(holder.image_profile,holder.username, commentModel.getUserid());
holder.comment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, Account.class);
intent.putExtra("userid", commentModel.getUserid());
mContext.startActivity(intent);
}
});
holder.image_profile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, Account.class);
intent.putExtra("userid", commentModel.getUserid());
mContext.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return mComment.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
public ImageView image_profile;
public TextView username,comment;
public ViewHolder(View itemView) {
super(itemView);
image_profile = itemView.findViewById(R.id.image_profile);
username = itemView.findViewById(R.id.username);
comment = itemView.findViewById(R.id.comment);
}
}
private void getUserInfo(final ImageView imageView, final TextView username, String userid)
{
DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("User").child(userid);
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
UsersHappyPaws usersHappyPaws = dataSnapshot.getValue(UsersHappyPaws.class);
Glide.with(mContext).load(usersHappyPaws.getProfilepic()).into(imageView);
username.setText(usersHappyPaws.getName());
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}