1 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
代碼中的問題在于,您的CustomListAdapter類中有一個(gè)名為的字段,ItemName但您使用的是一個(gè)名為getter的getter getItemName(),這是不正確的,因?yàn)镕irebase在數(shù)據(jù)庫中查找的名為itemNameand not 的字段ItemName??吹叫慽字母還是大寫字母I?
有兩種方法可以解決此問題。第一個(gè)方法是根據(jù)Java命名約定重命名字段來更改模型類。因此,您的模型類應(yīng)如下所示:
public class CustomListAdapter {
private String itemName, quantity, serialNo, supplierName, supplierEmail, supplierPhone;
public CustomListAdapter() {}
public CustomListAdapter(String itemName, String quantity, String serialNo, String supplierName, String supplierEmail, String supplierPhone) {
this.itemName = itemName;
this.quantity = quantity;
this.serialNo = serialNo;
this.supplierName = supplierName;
this.supplierEmail = supplierEmail;
this.supplierPhone = supplierPhone;
}
public String getItemName() { return itemName; }
public String getQuantity() { return quantity; }
public String getSerialNo() { return serialNo; }
public String getSupplierName() { return supplierName; }
public String getSupplierEmail() { return supplierEmail; }
public String getSupplierPhone() { return supplierPhone; }
}
在此示例中看到,存在private字段和公共獲取器。還有一個(gè)更簡(jiǎn)單的解決方案,可以像這樣直接在公共字段上設(shè)置值:
public class CustomListAdapter {
public String itemName, quantity, serialNo, supplierName, supplierEmail, supplierPhone;
}
現(xiàn)在,只需刪除當(dāng)前數(shù)據(jù),然后使用正確的名稱再次添加即可。僅在測(cè)試階段,此解決方案才有效。
還有第二種方法,即使用annotations。因此,如果您更喜歡使用私有字段和公共getter,則應(yīng)僅在getter之前使用PropertyName批注。因此,您的CustomListAdapter課程應(yīng)如下所示:
public class CustomListAdapter {
private String ItemName;
private String Quantity;
private String SerialNo;
private String SupplierName;
private String SupplierEmail;
private String SupplierPhone;
public CustomListAdapter() {}
public CustomListAdapter(String itemName, String quantity, String serialNo, String supplierName, String supplierEmail, String supplierPhone) {
ItemName = itemName;
Quantity = quantity;
SerialNo = serialNo;
SupplierName = supplierName;
SupplierEmail = supplierEmail;
SupplierPhone = supplierPhone;
}
@PropertyName("ItemName")
public String getItemName() { return ItemName; }
@PropertyName("Quantity")
public String getQuantity() { return Quantity; }
@PropertyName("SerialNo")
public String getSerialNo() { return SerialNo; }
@PropertyName("SupplierName")
public String getSupplierName() { return SupplierName; }
@PropertyName("SupplierEmail")
public String getSupplierEmail() { return SupplierEmail; }
@PropertyName("SupplierPhone")
public String getSupplierPhone() { return SupplierPhone; }
}
添加回答
舉報(bào)