我正在使用Fabric.io的Twitter Feed。
要设置,我使用此方法:
final UserTimeline userTimeline = new UserTimeline.Builder()
.screenName(screenname)
.build();
final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter(mContext, userTimeline);
listViewTweets.setAdapter(adapter);
我的目标是在加载Feed之前显示加载指示符,从而在视图中显示。 我该怎么做?
答案 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);
}