标签:android twitter twitter-fabric
我正在尝试使用UserTimeline和TweetTimelineListAdapter来获取TimeLine,因为在结构文档中可以找到here.如果我使用我的打开的n / w并且提供了正确的下载速度,我可以正确加载时间轴.我在最初加载时间轴时显示ProgressDialog.
问题:
如果我在办公室的公司办公室,或者我的2G / 3G n / w太慢/间歇性,我不知道如何确定何时真的超时,因此我不确定何时解雇ProgressDialog.
题:
是否有任何回调,它被连接到TweetTimelineListAdapter或类似的东西,以便在尝试加载时间轴时我可以得到任何错误,超时等.
我的方法充其量:
我能够使用DataSetObserver并查看Timeline是否已加载和解除.但是,如果在加载时出现任何错误或超时问题,我无法找到任何内容.
adapter.registerDataSetObserver(mTwitterDatasetObsv);
DataSetObserver mTwitterDatasetObsv = new DataSetObserver() {
@Override
public void onChanged() {
super.onChanged();
// dismiss progress dialog
}
@Override
public void onInvalidated() {
super.onInvalidated();
// dismiss progress dialog
}
};
如果我需要提供更多信息,请告诉我.
解决方法:
所以我终于弄明白自己,并回答我自己的问题,以防任何人感兴趣.
我最初依赖于以下代码行,其中有一些抽象的时间来加载Twitter时间线,同时我的Activity是空白的.为了应对延迟,我展示了ProgressDialog.但正如上面提到的那样,我需要知道在哪里解除对话.
final UserTimeline userTimeline = new UserTimeline.Builder().screenName(brandScreenName).build();
// create custom TimeLine adapter object
adapter = new TweetTimelineListAdapter(this, userTimeline);
我发现我们可以实际调用以下可用于UserTimeline的API来获取成功和失败方法的回调.
// trigger userTimeline manually to get latest tweets
userTimeline.previous(null, new Callback<TimelineResult<Tweet>>() {
@Override
public void success(Result<TimelineResult<Tweet>> result) {
}
@Override
public void failure(TwitterException exception) {
}
});
但是仅在上面,并没有解决我的问题,因为第一次成功(结果< TimelineResult< Tweet>>结果)被调用了适当的结果,它没有通过通知适配器刷新ListView.为了解决这个问题,我创建了类CustomTimeLineAdapter扩展TweetTimelineListAdapter和重写方法,如getItem,getCount和getView,从上面提到的成功回调内部的ArrayList中获取Tweet.
标签:android,twitter,twitter-fabric 来源: https://codeday.me/bug/20190628/1316085.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。