How to get Array List Object From Firebase
12,792
Sorry if you were working on this all I needed to do was change the directory.
ValueEventListener postListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
GenericTypeIndicator<ArrayList<Item>> t = new GenericTypeIndicator<ArrayList<Item>>() {};
ArrayList<Item> yourStringArray = snapshot.getValue(t);
Toast.makeText(getContext(),yourStringArray.get(0).getName(),Toast.LENGTH_LONG).show();
}
@Override
public void onCancelled(DatabaseError firebaseError) {
Log.e("The read failed: " ,firebaseError.getMessage());
}
};
mDatabase.child("list/user1").addValueEventListener(postListener);
Author by
Jack Resone
Updated on July 05, 2022Comments
-
Jack Resone almost 2 years
I added an ArrayList to the Firebase but I don't know how to get it back.
mDatabase.child("list").child("person").setValue(myValues); //This is how I added it to my firebase
What I have tried is this. This is my error message
com.google.firebase.database.DatabaseException: Can't convert object of type java.util.ArrayList to type Item
ValueEventListener postListener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { for (DataSnapshot data : snapshot.getChildren()) { GenericTypeIndicator<HashMap<String, Item>> t = new GenericTypeIndicator<HashMap<String, Item>>() {}; HashMap<String, Item> beans = data.getValue(t); Set set = beans.entrySet(); Iterator i = set.iterator(); // Display elements while (i.hasNext()) { Map.Entry me = (Map.Entry) i.next(); Toast.makeText(getContext(), me.getKey() + ": ", Toast.LENGTH_LONG).show(); Toast.makeText(getContext(), me.getValue().toString(), Toast.LENGTH_LONG).show(); System.out.println(me.getValue()); } } } @Override public void onCancelled(DatabaseError firebaseError) { Log.e("The read failed: " ,firebaseError.getMessage()); } }; mDatabase.addValueEventListener(postListener);