【发布时间】:2018-08-29 05:40:12
【问题描述】:
我的结构
所以我有一个应用程序,用户可以在我的适配器中上传帖子。我可以检索帖子描述和帖子图片,但是当我尝试检索海报的名称时,应用程序似乎崩溃了,为了检索每个帖子的名称,数据库中添加了一个带有上传者 ID 的子项。这是我的类文件:
public String image_thumb;
public String user_id;
public String image_url;
public String desc;
public BlogPost(){}
public BlogPost(String user_id, String image_url, String desc, String image_thumb) {
this.user_id = user_id;
this.image_url = image_url;
this.desc = desc;
this.image_thumb = image_thumb;
}
public String getUser_id() {
return user_id;
}
public void setUser_id(String user_id) {
this.user_id = user_id;
}
public String getImage_url() {
return image_url;
}
public void setImage_url(String image_url) {
this.image_url = image_url;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public String getImage_thumb() {
return image_thumb;
}
public void setImage_thumb(String image_thumb) {
this.image_thumb = image_thumb;
}
这是我的一些适配器:
public void onBindViewHolder(final ViewHolder holder, int position) {
String desc_data = blog_list.get(position).getDesc();
holder.setDescText(desc_data);//this works
String image_url = blog_list.get(position).getImage_url();
holder.setBlogImage(image_url);//this works
String user_id = blog_list.get(position).getUser_id();
firebaseDatabase.child("Users").child(user_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
String userName = dataSnapshot.child("name").getValue().toString();
holder.setUserName(userName);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
public void setUserName(String name){
blogUserName = mView.findViewById(R.id.blog_user_name);
blogUserName.setText(name);
}
我基本上想做的是在 user_id 中查找名称并在我的 TextView 中检索它
【问题讨论】:
-
请分享您的数据库的结构,这里也使用它
-
我添加了结构
-
显示你初始化(firebaseDatabase)的代码。
-
这只是 FirebaseDatabase.getInstance().getReferance();
-
错误在哪一行。
标签: android firebase firebase-realtime-database