Fabric.io usertimeline加载事件

时间:2015-04-24 14:18:19

标签: android twitter-fabric fabric.io

我正在使用Fabric.io的Twitter Feed。

要设置,我使用此方法:

final UserTimeline userTimeline = new UserTimeline.Builder()
    .screenName(screenname)
    .build();
final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter(mContext, userTimeline);
listViewTweets.setAdapter(adapter);

我的目标是在加载Feed之前显示加载指示符,从而在视图中显示。 我该怎么做?

2 个答案:

答案 0 :(得分:2)

listViewTweets.setAdapter(adapter);插入之前:

listviewo.setEmptyView(findViewById(R.id.loading));

加载是ProgressBar将其放入您拥有ListView的XML:

<ProgressBar
        android:id="@+id/loading"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:indeterminateDrawable="@anim/loading_rotation"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:visibility="gone" />

由此:android:indeterminateDrawable="@anim/loading_rotation"我创建了一张旋转的图片。

设置动画只需创建一个xml文件,将其放在名为anim的文件夹中:

<?xml version="1.0" encoding="utf-8"?>

<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/iconloading"
android:pivotX="50%"
android:pivotY="50%" />

加载图片为iconloading

希望这会有所帮助。

答案 1 :(得分:0)

您可以使用TweetTimelineListAdapter.registerDataSetObserver观察适配器更改并在等待初始数据更改事件时显示加载指示符。

例如在ListFragment中:

    public void onStart() {
        ...
        final TweetTimelineListAdapter adapter = ...
        adapter.registerDataSetObserver(new DataSetObserver() {
            @Override
            public void onChanged() {    
                setListShown(true);
            }
        });
        setListAdapter(adapter);
        setListShown(false);
}