调用Firebase RecyclerView之后,它向我显示此错误。之后调用model.getAvatarUrl()。isEmpty(),因为返回null。您能帮我吗,我被困在这里。我调用了在线和离线方法,最近它向我显示了此错误。
FindFriendsActivity.java
adapter = new FirebaseRecyclerAdapter<User, FindFriendsViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull final FindFriendsViewHolder viewHolder, final int position, @NonNull final User model)
{
final String usersIDs = getRef(position).getKey();
UsersRef.child(usersIDs).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists())
{
viewHolder.userName.setText(model.getName());
viewHolder.userStatus.setText(model.getStatus());
//Set Image
/*
if (model.getAvatarUrl().isEmpty()) {
viewHolder.profileImage.setImageResource(R.drawable.profile_image);
} else
{
Picasso.with(getBaseContext()).load(model.getAvatarUrl()).into(viewHolder.profileImage);
}*/
if (model.getAvatarUrl().isEmpty()){ //Error in this line
viewHolder.profileImage.setImageResource(R.drawable.profile_image);
}
else {
Picasso.with(getBaseContext()).load(model.getAvatarUrl()).into(viewHolder.profileImage);
}
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
String visit_user_id = getRef(position).getKey();
Intent profileIntent = new Intent(FindFriendsActivity.this, ChatActivity.class);
profileIntent.putExtra("visit_user_id", visit_user_id);
profileIntent.putExtra("visit_user_name", model.getName());
profileIntent.putExtra("visit_image", model.getAvatarUrl());
startActivity(profileIntent);
}
});
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
@NonNull
@Override
public FindFriendsViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i)
{
View itemView = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.users_display_layout, viewGroup, false);
return new FindFriendsViewHolder(itemView);
}
};
您不能在null上调用方法,因为null不是对象,也没有任何方法。您需要先直接对您的值进行空检查]
model.getAvatarUrl() == null || model.getAvatarUrl().isEmpty()
或与apache commons
一起使用
StringUtils.isEmtpy(model.getAvatarUrl())
。