Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Android Build a Self-Destructing Message Android App Relating Users in Parse.com Displaying Our List of Friends

Daniel Vido
Daniel Vido
4,824 Points

Ribbit app - No friends are displayed in fragment

Hello,

I have some friends selected in Edit Friends tab the Friends Fragment still shows the 'Add friends to begin' text. Can you please help?

Here is my code:

public class FriendsFragment extends ListFragment {

public static final String TAG = FriendsFragment.class.getSimpleName();

protected List<ParseUser> mFriends;
protected ParseRelation<ParseUser> mFriendsRelation;
protected ParseUser mCurrentUser;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_friends, container, false);
    return rootView;
}

@Override
public void onResume() {
    super.onResume();

    mCurrentUser = ParseUser.getCurrentUser();
    mFriendsRelation = mCurrentUser.getRelation(ParseConstants.KEY_FRIENDS_RELATION);
    ParseQuery<ParseUser> query = mFriendsRelation.getQuery();
    query.addAscendingOrder(ParseConstants.KEY_USERNAME);
     query.findInBackground(new FindCallback<ParseUser>() {
         @Override
         public void done(List<ParseUser> friends, ParseException e) {
             if (e == null) {
                 mFriends = friends;


                 String[] usernames = new String[mFriends.size()];
                 int i = 0;
                 for (ParseUser user : mFriends) {
                     usernames[i] = user.getUsername();
                     i++;
                 }

                 ArrayAdapter<String> adapter = new ArrayAdapter<String>(getListView().getContext(),
                         android.R.layout.simple_list_item_1);
                 setListAdapter(adapter);
             } else {
                 Log.e(TAG, e.getMessage());
                 AlertDialog.Builder builder = new AlertDialog.Builder(getListView().getContext());
                 builder.setMessage(e.getMessage())
                         .setTitle(R.string.error_title)
                         .setPositiveButton("OKAY!", null);
                 AlertDialog dialog = builder.create();
                 dialog.show();
             }
         }
     });
}

}

Your missing usernames at the end of your Array Adapter it should look like this

ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                            getListView().getContext(),
                            android.R.layout.simple_list_item_1,
                            usernames);
                    setListAdapter(adapter);

Hope this helps

Oso