我从Firebase实时数据库获取的数据中列出了人员在回收视图中的名称。从android工作室中的github导入时出错2.3.3
我怎么能显示人的详细信息,当用户点击每个人的名字吗?
存储在给定的图像格式为每个人的描述:
我从Firebase实时数据库获取的数据中列出了人员在回收视图中的名称。从android工作室中的github导入时出错2.3.3
我怎么能显示人的详细信息,当用户点击每个人的名字吗?
存储在给定的图像格式为每个人的描述:
由于可以使用相同的名称很多用户,我建议你通过ID获取用户的详细信息。可能是你可以存储你的用户ID在一些认为是隐藏的。
您可以按照以下步骤通过标识获取用户的详细信息。
在Firebase数据库中创建一个与您的用户字段相对应的类。
public class UserDetail {
private String uId;
private String name;
private String phoneNo;
private String address;
private String product;
private String spinner;
private String quantity;
// Empty constructor
// Getters and setters
}
制作与上述类对应的DAO类,以便从数据库中提取记录。
public class UserDetailDao {
private final FirebaseDatabase mDatabase;
public UserDetailDao() {
mDatabase = FirebaseDatabase.getInstance();
}
public void getUserById(String id, OnResultFetched onResultFetched) {
final UserDetail userDetail = null;
mDatabase.getReference()
.child("users")
.child(id)
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
userDetail = dataSnapshot.getValue(UserDetail.class);
onResultFetched.onResult(userDetail);
}
@Override
public void onCancelled(DatabaseError databaseError) {
onResultFetched.onResult(null);
}
});
}
// Callback interface
public interface OnResultFetched {
public void onResult(UserDetail userDetail);
}
}
现在从任何活动,你可以得到所有用户的列表:
new UserDetailDao().getUserById(id_of_your_user, new UserDetailDao.OnResultFetched() {
@Override
public void onResult(UserDetail userDetail) {
// **** HERE IS YOUR USER ****
}
});
非常感谢,它确实帮助我很多 – joshua
如果这解决了您的问题,请您接受并点赞回答。提前致谢 :) –
什么样的错误? –