com.google.firebase.database.DatabaseException:Can';t将java.lang.String类型的对象转换为com.test.cont.last.QuestionEntry类型

com.google.firebase.database.DatabaseException:Can';t将java.lang.String类型的对象转换为com.test.cont.last.QuestionEntry类型,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我正在构建一个社交应用程序,可以从firebase保存和检索数据。但我得到了这个错误 com.google.firebase.database.DatabaseException:无法转换对象 从java.lang.String类型到com.test.cont.last.QuestionEntry类型 位于com.google.android.gms.internal.zzear.zzb(未知来源) 位于com.google.android.gms.internal.zzear.zza(未知来源

我正在构建一个社交应用程序,可以从firebase保存和检索数据。但我得到了这个错误

com.google.firebase.database.DatabaseException:无法转换对象 从java.lang.String类型到com.test.cont.last.QuestionEntry类型 位于com.google.android.gms.internal.zzear.zzb(未知来源) 位于com.google.android.gms.internal.zzear.zza(未知来源) 位于com.google.firebase.database.DataSnapshot.getValue(未知源) 在 com.test.const.last.firebaseheloper.fetchData(firebaseheloper.java:28) 在 com.test.const.last.firebaseheloper.access$000(firebaseheloper.java:17) 在 com.test.const.last.firebaseheloper$1.onChildaded(firebaseheloper.java:36) 在com.google.android.gms.internal.zzdri.zza(未知来源) 位于com.google.android.gms.internal.zzdwu.zzbvb(未知来源) 位于com.google.android.gms.internal.zzdxa.run(未知来源) 位于android.os.Handler.handleCallback(Handler.java:730) 位于android.os.Handler.dispatchMessage(Handler.java:92) 位于android.os.Looper.loop(Looper.java:176) 位于android.app.ActivityThread.main(ActivityThread.java:5419) 位于java.lang.reflect.Method.Invokenactive(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:525) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862) 在dalvik.system.NativeStart.main(本机方法)

这是我的FirebaseHelper。我要从firebase数据库中检索数据(仅限于“问题”儿童内容)

这是我的行为

这是我的活动

    public class Actu extends Fragment {
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        v = inflater.inflate(R.layout.activity_actu, container, false);
        lv = (ListView) v.findViewById(R.id.actu_rv);
        db = FirebaseDatabase.getInstance().getReference("Questions");
        helper = new FirebaseHelper(db);
        adapter = new QuestionAdapter(getContext(),helper.retreive());
        lv.setAdapter(adapter);


        return v;        }
}

我已经将内容发布到firebase

fetchData
方法更改为:

private void fetchData (DataSnapshot dataSnapshot){
questionEntries.clear();
QuestionEntry questionEntry = dataSnapshot.getValue(QuestionEntry.class);
questionEntries.add(questionEntry);
 }

for
循环正在节点
questions
的子节点中循环,由于子节点包含字符串,因此您会收到该错误。

@user8773560请立即尝试,您也正在查询
questions
节点,对吗?这是我的活动请看这个
    public class Actu extends Fragment {
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        v = inflater.inflate(R.layout.activity_actu, container, false);
        lv = (ListView) v.findViewById(R.id.actu_rv);
        db = FirebaseDatabase.getInstance().getReference("Questions");
        helper = new FirebaseHelper(db);
        adapter = new QuestionAdapter(getContext(),helper.retreive());
        lv.setAdapter(adapter);


        return v;        }
}
private void fetchData (DataSnapshot dataSnapshot){
questionEntries.clear();
QuestionEntry questionEntry = dataSnapshot.getValue(QuestionEntry.class);
questionEntries.add(questionEntry);
 }