这是我的构造函数类
public class selected_item {
private String Items;
public selected_item() {
}
public selected_item(String items) {
this.Items = items;
}
public String getItems() {
return Items;
}
}
我的 mainActivity 给出为
db = FirebaseDatabase.getInstance().getReference();
db.child("Category").child(s).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
selected_item Items =dataSnapshot.getValue(selected_item.class);
System.out.println(Items);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我得到的输出是
I/System.out: com.strease.user.strease.selected_item@3945e4f
这不是必需的,而且也不存在于我的数据库中的任何位置。所需的输出应为鞋子
请帮我解决这个问题
最佳答案
您的对象没有 toString()
方法,因为 Java 在打印方法中为您提供了该对象的引用。
尝试打印 items 属性:
System.out.println(Items.getItems());
您还可以重写toString()
方法来打印可读的内容:
public class selected_item {
private String Items;
public selected_item() {
}
public selected_item(String items) {
this.Items = items;
}
public String getItems() {
return Items;
}
@Override
public String toString() {
return Items;
}
}
仍然是用户:
System.out.println(Items);
关于java - 使用 addlistnerForSingleValueEvent 从 firebase 检索数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49300277/