【发布时间】:2017-04-15 17:50:58
【问题描述】:
我正在尝试从我的 firebase 数据库中检索数据并将其显示在 ListView 的 TextViews 中。但是,我在这一行遇到“缺少构造函数”异常:Clients clients = clientsSnapshot.getValue(Clients.class);。
不知道如何解决。我在 firebase 或 android 开发方面都不是很有经验,所以任何帮助都将不胜感激。 伙计们干杯!
public class ViewProfile extends AppCompatActivity{
ListView listviewClients;
List<Clients> clientsList;
DatabaseReference databaseClients;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_profile);
listviewClients = (ListView) findViewById(R.id.listviewClients);
databaseClients = FirebaseDatabase.getInstance().getReference("clients");
clientsList = new ArrayList<>();
}
@Override
protected void onStart() {
super.onStart();
databaseClients.addValueEventListener (new ValueEventListener() {
@Override
public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
clientsList.clear();
for (com.google.firebase.database.DataSnapshot clientsSnapshot : dataSnapshot.getChildren()) {
Clients clients = clientsSnapshot.getValue(Clients.class);
clientsList.add(clients);
}
ClientsList adapter = new ClientsList(ViewProfile.this, clientsList);
listviewClients.setAdapter(adapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
Clients.java:
public class Clients {
String clientName;
String clientCareer;
Boolean techCB;
Boolean mediCB;
Boolean renewableEnergyNF;
Boolean googleNF;
Boolean novartisNF;
Boolean teslaNF;
Boolean fbLRS;
Boolean applLRS;
Boolean yhooLRS;
Boolean eurusdCB;
Boolean usdrubCU;
Boolean silverCO;
Boolean goldCO;
Boolean gbpusdCU;
Boolean nsdqI;
Boolean sp500I;
// public Clients(String id, String name, String career, Boolean techCB, Boolean mediCB, Boolean renewableEnergyNF, Boolean googleNF, Boolean novartisNF, Boolean teslaNF, Boolean fbLRS, Boolean applLRS, Boolean yhooLRS, Boolean eurusdCB, Boolean usdrubCU, Boolean silverCO, Boolean goldCO, Boolean gbpusdCU, Boolean nsdqI, Boolean sp500I) {
//
// }
public Clients(String id, String clientCareer, String clientName, Boolean techCB, Boolean mediCB, Boolean renewableEnergyNF,
Boolean googleNF, Boolean novartisNF, Boolean teslaNF, Boolean fbLRS, Boolean applLRS, Boolean yhooLRS, Boolean eurusdCB,
Boolean usdrubCU, Boolean silverCO, Boolean goldCO, Boolean gbpusdCU, Boolean nsdqI, Boolean sp500I) {
this.clientName = clientName;
this.clientCareer = clientCareer;
this.techCB = techCB;
this.mediCB = mediCB;
this.renewableEnergyNF = renewableEnergyNF;
this.googleNF = googleNF;
this.novartisNF = novartisNF;
this.teslaNF = teslaNF;
this.fbLRS = fbLRS;
this.applLRS = applLRS;
this.yhooLRS = yhooLRS;
this.eurusdCB = eurusdCB;
this.usdrubCU = usdrubCU;
this.silverCO = silverCO;
this.goldCO = goldCO;
this.gbpusdCU = gbpusdCU;
this.nsdqI = nsdqI;
this.sp500I = sp500I;
}
public String getClientName() {
return clientName;
}
public String getClientCareer() {
return clientCareer;
}
public Boolean getTechCB() {
return techCB;
}
public Boolean getMediCB() {
return mediCB;
}
public Boolean getRenewableEnergyNF() {
return renewableEnergyNF;
}
public Boolean getGoogleNF() {
return googleNF;
}
public Boolean getNovartisNF() {
return novartisNF;
}
public Boolean getTeslaNF() {
return teslaNF;
}
public Boolean getFbLRS() {
return fbLRS;
}
public Boolean getApplLRS() {
return applLRS;
}
public Boolean getYhooLRS() {
return yhooLRS;
}
public Boolean getEurusdCB() {
return eurusdCB;
}
public Boolean getUsdrubCU() {
return usdrubCU;
}
public Boolean getSilverCO() {
return silverCO;
}
public Boolean getGoldCO() {
return goldCO;
}
public Boolean getGbpusdCU() {
return gbpusdCU;
}
public Boolean getNsdqI() {
return nsdqI;
}
public Boolean getSp500I() {
return sp500I;
}
【问题讨论】:
-
Clients类没有无参数构造函数 -
错误信息的哪一部分需要帮助?你知道什么是构造函数吗?你知道什么是论据吗?理解术语后,您应该能够弄清楚如何修复错误。
-
发布
Clients类代码.. -
@Code-Apprentice 我不知道构造函数的定义,但它通常是公共的_____ (){}?我对参数的了解是它们就像参数。如果您能在任何知识上帮助我,我会很高兴:D
-
@rafsanahmad007 已发布。干杯!
标签: android exception firebase firebase-realtime-database