firebase.database.DatabaseException: 无法将类型 java.lang.Long 的值转换为字符串

firebase.database.DatabaseException: Failed to convert value of type java.lang.Long to String

[]

firebase.database.DatabaseException: Failed to convert value of type java.lang.Long to String

我正在尝试将此数据添加到 FirebaserecyclerAdapter 并收到此错误

这里是数据库引用

    databaseReference = FirebaseDatabase.getInstance().getReference().child("questions");

这就是我使用 RecyclerViewAdapter 的方式

  FirebaseRecyclerAdapter<History, HistoryViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<History, HistoryViewHolder>(
            History.class, R.layout.history_list_item, HistoryViewHolder.class, databaseReference) {
        @Override
        protected void populateViewHolder(HistoryViewHolder viewHolder, History model, int position) {
            viewHolder.setMyanswer(model.getMyAnswer());
            viewHolder.setCorrentAnswer(model.getCorrectAnswer());
            viewHolder.setImageUrl(getApplicationContext(), model.getImageUrl());

        }
    };
    recyclerView.setAdapter(firebaseRecyclerAdapter);

你数据库中的两个节点确实有不匹配的数据类型:

myAnswer : "21"
myAnswer : 11

如果您希望它是一个字符串,它应该是:

myAnswer : "21"
myAnswer : "11"

或者,让它们长:

myAnswer : 21
myAnswer : 11

确保在添加数据时注意一致性

valueX = 21.4;

valueY = 23.5;

需要将 Long 更改为 String

String mValuex = String.valueOf(valueX);

String mValuey = String.valueOf(valueY);

myRef.child(username).child("valuex").setValue(mValuex);

myRef.child(username).child("valuey").setValue(mValuey);