在我的应用程序中,我创建了登录和注册页面,并将用户名和电子邮件保存到我的 Firebase 数据库中。我还用片段做了底部导航。我想从 Firebase 中获取这些值(姓名、邮件)并将其放入配置文件片段中的 TextView 中。当我尝试这个时,我的应用程序崩溃了。我怎么解决这个问题?
public class ProfileFragment extends Fragment {
private FirebaseDatabase mFirebaseDatabase;
private FirebaseAuth mAuth;
private String userID;
private TextView tName;
private TextView tEmail;
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View profileView = inflater.inflate(R.layout.fragment_profile, null);
tName=profileView.findViewById(R.id.tv_name);
tEmail=profileView.findViewById(R.id.tv_email);
mAuth=FirebaseAuth.getInstance();
mFirebaseDatabase=FirebaseDatabase.getInstance();
final DatabaseReference myRef=mFirebaseDatabase.getReference("users");
FirebaseUser user=mAuth.getCurrentUser();
userID=user.getUid();
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds: dataSnapshot.getChildren()){
User user=new User();
user.setUserName(ds.child(userID).getValue(User.class).getUserName());
user.setUserEmail(ds.child(userID).getValue(User.class).getUserEmail());
tName.setText(user.getUserName());
tEmail.setText(user.getUserEmail());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
return profileView;
}
}