0

我正在使用 Fabric.io 的 Twitter 提要。

要进行设置,我使用的是这种方法:

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

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

4

2 回答 2

2

listViewTweets.setAdapter(adapter);插入前:

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

加载是ProgressBar把它放在你的 XML 中,你有ListView

<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

希望这可以帮助。

于 2015-04-24T14:52:17.203 回答
0

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

例如在 ListFragment 中:

    public void onStart() {
        ...
        final TweetTimelineListAdapter adapter = ...
        adapter.registerDataSetObserver(new DataSetObserver() {
            @Override
            public void onChanged() {    
                setListShown(true);
            }
        });
        setListAdapter(adapter);
        setListShown(false);
}
于 2015-05-31T18:15:34.817 回答