【发布时间】:2017-01-23 12:18:55
【问题描述】:
我正在尝试使用已在回调中填充的推文数组列表,但我不知道如何返回构建的列表。每当我尝试使用构建列表时,它都是空的。
我从这个post得到了一些代码
public ArrayList<Tweet> tweetList() {
final ArrayList<Tweet> tweets = new ArrayList<>();
final UserTimeline userTimeline = new UserTimeline.Builder()
.screenName("xxxxxxxx")
.build();
userTimeline.next(null, new Callback<TimelineResult<Tweet>>() {
@Override
public void success(Result<TimelineResult<Tweet>> result) {
for(Tweet tweet : result.data.items){
tweets.add(tweet);
}
Log.d("Finished Tweet List", String.valueOf(tweets));
// when this is printed I can see the ArrayList and all tweets are there
}
@Override
public void failure(TwitterException exception) {
exception.printStackTrace();
}
});
Log.d("Tweet list returned", String.valueOf(tweets));
// the value of tweets is empty here for some reason
return tweets;
}
【问题讨论】:
-
由于信息是通过回调返回的,我猜该方法是异步的。如果是这种情况,那么您的方法将启动另一个线程以访问互联网并在触发该回调之前返回。把你想做的工作放在回调里面,确保信息正确传递。
标签: java android arraylist twitter