我使用TwitterKit和UserTimeline以及TweetTimelineListAdapter列出来自特定用户的推文(在本例中为realdonaldtrump):
final ViewGroup vg = (ViewGroup)LinearLayout.inflate(context, R.layout.node_social_twitter, null);
final UserTimeline userTimeline = new UserTimeline.Builder().screenName("realdonaldtrump").build();
final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(context).setTimeline(userTimeline).build();
final ListView tweetsListview = (ListView)vg.getChildAt(0);
tweetsListview.setAdapter(adapter);
这是我的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:background="#f9f"
android:orientation="vertical"
android:layout_margin="@dimen/node_default_spacing_half"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
我只能看到一条推文。
如果我将列表视图设置为固定高度(例如,400dp),我可以看到更多推文,但很多时候推文只有一半可见,而且我再次无法滚动。
有关如何解决此问题的任何提示?一个理想的场景是指出我想要展示的推文数量,并使其可滚动。
谢谢!
答案 0 :(得分:0)
尝试使用:
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"/>
答案 1 :(得分:0)
手动添加项目(没有适配器)似乎有效,至少能够获得N条推文并完全适合它们。在这个解决方案中,tweetsViewGroup是一个线性布局。
final UserTimeline userTimeline = new UserTimeline.Builder().screenName(twitterHandle).build();
userTimeline.previous(null, new Callback<TimelineResult<Tweet>>() {
@Override
public void success(final Result<TimelineResult<Tweet>> result) {
// For now we'll just display 3 items
// TODO Ensure we have 3 or more tweets
for (int x = 0; x < 3; x++) {
final Tweet tweet = result.data.items.get(x);
tweetsViewGroup.addView(new TweetView(context, tweet));
}
}
@Override
public void failure(final TwitterException ignored) {
vg.setVisibility(View.GONE);
}
});