java - 尝试在空对象引用 Firebase 上调用虚拟方法“boolean java.lang.String.equals(java.lang.Object)”
问题描述
对于这行代码,我一直收到相同的错误消息,我已经尝试了所有可能的方法来尝试解决这个问题,但根本没有任何效果。如果 if 语句If (!user.getid().equals(firebaseUser.getUid()))
我被卡住并且变得如此沮丧,我再次尝试了一切。
public class UsersFragment extends Fragment {
private RecyclerView recyclerView;
private List<User> mUsers;
private UserAdapter userAdapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_users, container, false);
recyclerView = view.findViewById(R.id.recycler_view);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.setAdapter(userAdapter);
mUsers = new ArrayList<>();
readUsers();
return view;
}
private void readUsers() {
final FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
mUsers.clear();
for (DataSnapshot ignored : snapshot.getChildren()) {
User user = snapshot.getValue(User.class);
assert user != null;
assert firebaseUser != null;
if (!user.getId().equals(firebaseUser.getUid())) {
mUsers.add(user);
}
}
userAdapter = new UserAdapter(getContext(), mUsers, false);
recyclerView.setAdapter(userAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
解决方案
推荐阅读
- spring - 无法加载 TestContextBootstrapper [null]。指定@BootstrapWith 和依赖树确定
- php - 递归PHP函数返回允许的内存大小用尽
- c# - 标签/文本框中单个字符的字体大小与预期不符
- javascript - setState 从 .map 里面 componentDidMount()
- azure - Azure 流量管理器和 SSL 证书
- node.js - Cloud Functions 日志错误:admin.firestore.doc 不是函数
- c++ - Visual Studio 中的 C++ 运行结构
- excel - Excel Dynamic List with no blanks
- javascript - Javascript Parameter format
- angular - enforce order using pipe with mergeMap in Angular