Autore Topic: Facebook SDK: getFirstName() e getLastName() si comportano male  (Letto 474 volte)

Offline Mixart

  • Nuovo arrivato
  • *
  • Post: 11
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Sensation
  • Sistema operativo:
    Ubuntu 12.10
Facebook SDK: getFirstName() e getLastName() si comportano male
« il: 17 Novembre 2013, 19:31:26 CET »
0
Sto provando a creare un AutoCompleteTextView dove è possibile selezione alcuni amici di Facebook; sto usando la funzione newMyFriendsRequest in questo modo:

Codice (Java): [Seleziona]
private void fbFriendsRequest(final Session session) {
    Request request = Request.newMyFriendsRequest(session, new Request.GraphUserListCallback() {
        @Override
        public void onCompleted(List<GraphUser> listFacebookFriends, Response response) {
            // If the response is successful
            if (session == Session.getActiveSession()) {
                if (listFacebookFriends != null) {
                    mAdapter = new GraphUserAdapter(FriendPicker.this, listFacebookFriends);
                    mAutoComplete.setAdapter(mAdapter);
                    Toast.makeText(FriendPicker.this,"Friends Loaded",Toast.LENGTH_SHORT).show();
                }
            }
            if (response.getError() != null) {
                // Handle errors, will do so later.
            }
        }
    });
    request.executeAsync();
}

Ogni volta che l'utente clicca su un item viene aggiunto in List<GraphUser> mGraphUsersList; una volta premuto il pulsante OK si ha:

Codice (Java): [Seleziona]
public void onOkClick(View v) {
    if(mGraphUsersList.size()==0) {
        setResult(RESULT_CANCELED,null);    
    } else {
        Intent returnIntent = new Intent();
        Iterator<GraphUser> itr = mGraphUsersList.iterator();
        int n = mGraphUsersList.size();
        String[] idfb = new String[n];
        String[] names = new String[n];
        String[] lastnames = new String[n];
        int i = 0;
        while(itr.hasNext()) {
            GraphUser User = (GraphUser) itr.next();
            idfb[i]=User.getId();
            names[i]=User.getFirstName();    // problem
            lastnames[i]=User.getLastName(); // problem
            i++;
        }
        returnIntent.putExtra("idfb",idfb);
        returnIntent.putExtra("names",names);
        returnIntent.putExtra("lastnames",lastnames);
        setResult(RESULT_OK,returnIntent);    
    }
    finish();
}

Quando invoco le funzioni geFirstName() e getLastName() ottengo dei NULL mentre se chiamo getName() ho il nome+cognome e anche getId() funziona.
Sembra ci sia un errore nella chiamata a newMyFriendsRequest (come se i GraphUser siano stati inizializzati male) ma non riesco a capire che sbaglio.

Grazie per l'aiuto!