我目前在Android应用程序中添加了一些Twitter功能。但是,我遇到了TwitterAPIClient服务回调的问题。基本上,我已经获得以下代码来获取用户时间表:
ArrayList<NewsFeedItem> items = new ArrayList<NewsFeedItems>();
TwitterCore.getInstance().getApiClient(TwitterCore.getInstance().getSessionManager().getActiveSession()).getStatusesService()
.userTimeline(null,
"<username>",
5,
null,
null,
null,
null,
null,
null,
new Callback<List<Tweet>>() {
@Override
public void success(Result<List<Tweet>> result) {
for (Tweet t : result.data) {
SimpleDateFormat dateFormtter = new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZZ yyyy");
Date d;
try {
d = dateFormtter.parse(t.createdAt);
} catch (ParseException e) {
d = new Date();
}
items.add(new NewsFeedItem(truckIntegrator.getTruckByTruckID(user.getTruckID()), t.text, d));
}
}
}
@Override
public void failure(TwitterException exception) {
android.util.Log.d("twittercommunity", "exception " + exception);
}
});
然而,在此之后,代码的执行仍在继续。是否有建议的方法暂停执行此代码运行的线程,直到调用success()
为止?顺便说一下,这不是在主线程中运行的。我已尝试使用wait()
和notify()
但是,这似乎无法正常工作......谢谢!