Reputation: 471
My app uses custom FirebaseListAdapter. I have created AreaGridAdap.java,
public class AreaGridAdap {
String gridArea;
public AreaGridAdap(){
}
public AreaGridAdap(String gridArea) {
this.gridArea = gridArea;
}
public String getGridArea() {
return gridArea;
}
}
this is my firebaseListAdapter,
final FirebaseListAdapter<AreaGridAdap> firebaseListAdapter = new FirebaseListAdapter<AreaGridAdap> (AreaGridActivity.this,
AreaGridAdap.class,
R.layout.area_grid,
databaseReference) {
@Override
protected void populateView(View v, AreaGridAdap model, int position) {
areaTextView = (TextView) v.findViewById(R.id.areaGridText);
areaTextView.setText(model.getGridArea());
}
};
For the first time I have used default FirebaseListAdapter
and it worked fine. But when I use custom FirebaseListAdapter
, my app crashes and I got this as my error message:
com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.String to type trickandroid.fulllogin.AreaGridAdap
Help me solve this error.
Upvotes: 0
Views: 229
Reputation: 598728
This error message means that the data structure under databaseReference
doesn't match your code. It looks like you have a data structure like this:
-K....1: "First value"
-K....2: "Second value"
-K....3: "Third value"
While your code is made to handle this structure:
-K....1: {
gridArea: "First value"
}
-K....2: {
gridArea: "Second value"
}
-K....3: {
gridArea: "Third value"
}
Upvotes: 2