【发布时间】:2017-03-29 12:07:44
【问题描述】:
我想从firebase获取颜色列表,下面的代码是获取颜色的方法
型号:Product.java
package fyp.hkust.facet.model;
public class Product {
private String name;
private String brand;
private String desc;
private String image;
private String username;
private String uid;
private String color;
public Product()
{
}
public Product(String name,String brand, String desc, String image,String username,String uid,String color) {
this.name = name;
this.brand = brand;
this.desc = desc;
this.image = image;
this.username = username;
this.uid = uid;
this.color = color;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
我使用上述模型得到的方法
mDatabase.child(product_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue() != null) {
Log.i("product dataSnapshot.getValue()", dataSnapshot.getValue().toString());
final Product product_data = dataSnapshot.getValue(Product.class);
backUp_product_data = product_data;
if (product_data.getName() != null)
product_name_text.setText(product_data.getName());
if (product_data.getBrand() != null)
brand_name_text.setText(product_data.getBrand());
if (product_data.getDesc() != null)
descTextview.setText(product_data.getDesc());
if( product_data.getUid() != null)
product_owner_id = product_data.getUid();
if(product_data.getColor() != null)
{
Log.d(TAG + " color" , product_data.getColor().toString());
}
}
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.e(TAG, "Failed to read value.", error.toException());
}
});
E/UncaughtException: com.google.firebase.database.DatabaseException: 无法将 java.util.ArrayList 类型的值转换为字符串
我收到了上述错误。我怎样才能把它们作为一个列表?请给我一些帮助。非常感谢。
【问题讨论】:
标签: android list arraylist firebase-realtime-database