【发布时间】:2018-06-25 00:03:38
【问题描述】:
假设我有这个代码:
XML
<FrameLayout android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android" >
<android.support.v7.widget.RecyclerView
android:id="@+id/photo_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
程序
private class FetchItemsTask extends AsyncTask<Void, Void, List<GalleryItem>> {
private String mQuery;
public FetchItemsTask(String query) {
mQuery = query;
}
@Override
protected List<GalleryItem> doInBackground(Void... params) {
if (mQuery == null) {
return new FlickrFetchr().fetchRecentPhotos();
} else {
return new FlickrFetchr().searchPhotos(mQuery);
}
}
@Override
protected void onPostExecute(List<GalleryItem> galleryItems) {
mItems = galleryItems;
setupAdapter();
}
}
当 AsycnTask 在后台工作时,如何实现一个旋转的 ProgressBar 并隐藏 RecyclerView?抱歉,这似乎是一个简单的问题,但我发现的唯一答案是使用 ProgressDialog,它在 API 26 中已被弃用。提前谢谢您。
【问题讨论】:
-
ProgressBar已被弃用,因为它会阻止 UI。谷歌认为你应该这样做,但你应该在你的视图中显示 loadingSpinner。但如果你不在乎,你可以使用 ProgressDialog 就好了。
标签: java android android-asynctask progress-bar