Java 无法访问云Firestore子级的值
我有如下所示的Firebase Cloud Firestore数据结构,希望访问“A1”: 我试图访问每个“答案”文档,其中包含实际答案和随后的计票结果。然后,我使用此答案信息填充单选按钮 目前,我在x9ojsg4tzLgx2SRTnchp有一个DocumentSnapshot参考。从该参考资料中,我正在调用“答案”集合,如下所示:Java 无法访问云Firestore子级的值,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我有如下所示的Firebase Cloud Firestore数据结构,希望访问“A1”: 我试图访问每个“答案”文档,其中包含实际答案和随后的计票结果。然后,我使用此答案信息填充单选按钮 目前,我在x9ojsg4tzLgx2SRTnchp有一个DocumentSnapshot参考。从该参考资料中,我正在调用“答案”集合,如下所示: public void addRadioButtonsWithFirebaseAnswers(int numberOfAnswers, DocumentSnaps
public void addRadioButtonsWithFirebaseAnswers(int numberOfAnswers, DocumentSnapshot documentSnapshot) {
mPollAnswerArrayList = new ArrayList<RadioButton>();
for (int i = (numberOfAnswers - 1); i >= 0; i--) {
Log.e("Number of Answers", "The number of answers is " + numberOfAnswers);
final int indexCreated = ((numberOfAnswers - 1) - i);
mPollAnswerArrayList.add((indexCreated), new RadioButton((getActivity().getApplicationContext())));
mPollAnswerArrayList.get(indexCreated).setId(indexCreated);
String firebaseChild = String.valueOf(indexCreated + 1);
documentSnapshot.getReference().collection(ANSWERS_LABEL).document(firebaseChild).get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
Answer answer = documentSnapshot.toObject(Answer.class);
mPollAnswerArrayList.get(indexCreated).setText(answer.getAnswer());
Log.v("TAG FOR DOCREF", answer.getAnswer());
}
});
我收到一个空指针:
java.lang.NullPointerException:尝试调用虚拟方法
'java.lang.Object
上的java.lang.reflect.Constructor.newInstance(java.lang.Object[])
空对象引用
在com.google.android.gms.internal.zzevb$zza.zza(未知来源)
在com.google.android.gms.internal.zzevb.zza(未知来源)
在com.google.android.gms.internal.zzevb.zza(未知来源)
位于com.google.firebase.firestore.DocumentSnapshot.toObject(未知
(来源)
在
com.troychuinard.fanpolls.Fragment.PollFragment$6.onSuccess(PollFragment.java:534)
在
com.troychuinard.fanpolls.Fragment.PollFragment$6.onSuccess(PollFragment.java:531)
位于com.google.android.gms.tasks.zzj.run(未知来源)
位于android.os.Handler.handleCallback(Handler.java:739)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:148)
位于android.app.ActivityThread.main(ActivityThread.java:5527)
位于java.lang.reflect.Method.invoke(本机方法)
在
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
添加一个公共的无参数构造函数进行应答。所有JavaBean类型的对象都应该有一个反射,这样就可以使用反射来创建它的实例,而不必猜测如何正确地向它传递参数
public Answer() {}
非常感谢我这方面的简单错误
public Answer() {}