Reputation: 303
[]
firebase.database.DatabaseException: Failed to convert value of type java.lang.Long to String
I am trying to add this data to a FirebaserecyclerAdapter and getting this error
Here is the database reference
databaseReference = FirebaseDatabase.getInstance().getReference().child("questions");
this is how I have used the 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);
Upvotes: 4
Views: 11097
Reputation: 1
In Firebase, when creating your DB, specify that the two fields are Strings, either put the figures is double quotes or select String next to the Select data type
Upvotes: 0
Reputation: 1
valueX = 21.4;
valueY = 23.5;
Need to change Long to 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);
Upvotes: 0
Reputation: 2220
The two nodes in your database indeed have a mismatch of data type :
myAnswer : "21"
myAnswer : 11
If you want this to be a String, it should instead be :
myAnswer : "21"
myAnswer : "11"
Or, have them as long :
myAnswer : 21
myAnswer : 11
Make sure you take care of consistency while adding data
Upvotes: 11