Android : Cannot print out retrieved Array List object

on Monday, March 30, 2015


I cannot print out my array list object.


Here is my first class to return the arraylist object:



public class user_arraylist {
public ArrayList<String> get_user_det() {
final ArrayList<String> temp = new ArrayList<String>(); //declare arraylist

Firebase f_user = new Firebase("https://shareurdaydb.firebaseio.com/User/");
f_user.addListenerForSingleValueEvent(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot snap_user) {
// TODO Auto-generated method stub
Iterable<DataSnapshot> rs = snap_user.getChildren();
Iterator<DataSnapshot> irs = rs.iterator();
long allNum2 = snap_user.getChildrenCount();
int maxNum2 = (int)allNum2;
int count_user = 1;
while(irs.hasNext())
{
if(count_user <= maxNum2)
{
Firebase user_data = new Firebase("https://myapp.firebaseio.com/");
AuthData authData = user_data.getAuth();
Map<String, Object> nPost = (Map<String, Object>) irs.next().getValue();

String db_email = nPost.get("email_addr").toString();
//String reply_msg_id = nPost.get("msgid").toString();

if (authData != null) {
String usr_email = authData.getProviderData().get("email").toString();
if(usr_email.equals(db_email))
{
String disp_name = nPost.get("disp_name").toString();
String real_name = nPost.get("real_name").toString();
temp.add(disp_name); //add to arraylist
temp.add(real_name);

for (String str : temp) {
System.out.println("Item is: " + str);
}

}
} else {
System.out.println("Failed");
}
}
count_user++;
}
}
@Override
public void onCancelled(FirebaseError arg0) {
// TODO Auto-generated method stub

}
});
return(temp); //return array list

}


}


Here is my second class to retrieve the array list object and display it:



user_arraylist t = new user_arraylist();
ArrayList<String> arr = new ArrayList<String>();
arr = t.get_user_det();

//Object user_det = get_user_det();
for (String temp : arr) {
System.out.println("NAME + " + temp);
}


After running this it prints out: nothing


If I print it like this



System.out.println("NAME + " + temp);



It gives me NAME:[];


Can some one explain why it is not working (in the second class it's not printing out the array list)?


0 comments:

Post a Comment