【发布时间】:2018-03-11 01:50:42
【问题描述】:
DriverDatabase.classAddInfoDriver.classDriverProfile.class
在DriverDatabase.class 中我设置了(fName, lName .... 和其他字段。)。另外,为这些属性添加{get; and set;}。
在AddInfoDriver.class 中,我引用了FirebaseDatabase 和DriverDatabase.class,这样,每当用户填写这些编辑文本时,它就会保存到 Firebase 数据库。
问题是:我无法检索 DriverProfile.class 中的那 5 个 Edittext 值,下面是检索代码。
public class DriverProfile extends Fragment {
@BindView(R.id.btn_save) Button btnsave;
@BindView(R.id.edtx_DoB) EditText edtxdob;
@BindView(R.id.edtx_fname) EditText edtx_fname;
@BindView(R.id.edtx_lname) EditText edtx_lname;
@BindView(R.id.spinner_type) Spinner spn_type;
@BindView(R.id.edtx_number) EditText edtx_number;
private DatabaseReference driverfname, driverlname;
public DriverProfile() {
//Constructed is required
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my_profile, container, false);
ButterKnife.bind(this, view);
driverfname = FirebaseDatabase.getInstance().getReference().child("Drivers").child("fname");
driverlname = FirebaseDatabase.getInstance().getReference().child("Drivers").child("lname");
driverfname.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
edtx_fname.setText(dataSnapshot.getValue(String.class));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
没有编写所有的edittext代码,只需查看我的ValueEventListener以获得驱动程序的fname。驱动程序保存在child("Drivers")中时不显示数据
【问题讨论】:
-
请分享您的数据库结构。
-
我已经编辑了我的问题,在 firebase 控制台中上传了数据库结构
-
您需要一个司机或所有司机的数据吗?
-
适用于所有驱动程序。实际上,我有 SMS 身份验证,如果我了解如何检索它,我会在每次身份验证后进行。每个司机的个人信息都应该显示在他自己的页面中。
标签: android firebase firebase-realtime-database