tengo esta clase para conectar con twutter y obtener las ids d elos tweets del timeline,
public class TwitterConnect {
TwitterApiClient twitterApiClient;
StatusesService statusesService;
Long [] ids;
public TwitterConnect(){
twitterApiClient = TwitterCore.getInstance().getApiClient();
statusesService = twitterApiClient.getStatusesService();
callHomeTimeLine();
}
private void callHomeTimeLine(){
statusesService.homeTimeline(200, null, null, null, null, null, null, new Callback<List<Tweet>>() {
@Override
public void success(Result<List<Tweet>> result) {
Long [] ids = new Long[result.data.size()];
int i=0;
for (Tweet tweet:result.data) {
//tweet.id;
Log.w("Twwet",tweet.id+" ");
ids[i] = result.data.get(i).id;
i++;
}
setIds(ids);
}
@Override
public void failure(TwitterException exception) {
Log.e("FAILURE", "Fallo en callHomeTimeLine");
}
});
}
private void setIds(Long [] ids){
this.ids = ids;
}
public Long[] getIds() {
return ids;
}
}
Las ids se obtienen correctamente ,pero al usar esta clase en una activity el array de id's siempre es null
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_following);
getSupportActionBar().setDisplayShowTitleEnabled(false);
TwitterConnect twc = new TwitterConnect();
this.ids = twc.getIds()//ids siempre esta a null
;
Si no he entendido mal el problema es porque onsucces es un metodo asincrono,la cuestion como podria hacer para obetener esos valores en la activity,como esperar aque ese metodo asincrono se haga para utilizar el array