Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何添加进度对话框_Java_Android_Android Recyclerview_Android Asynctask_Progressdialog - Fatal编程技术网

Java 如何添加进度对话框

Java 如何添加进度对话框,java,android,android-recyclerview,android-asynctask,progressdialog,Java,Android,Android Recyclerview,Android Asynctask,Progressdialog,我使用Fragment来显示电影名称、海报、评论和预告片,使用API键。我正在尝试添加progressbar,以便在加载RecyclerView时显示进度条,加载完成后,进度条将不可见 我尝试了各种方法,但它总是给我错误或应用程序编译和运行,但崩溃 下面是我的MoviesUtil类文件 公共类MoviesUtil{ 私有静态最终Webb Webb=Webb.create(); 私有静态最终字符串TMDB\u API\u MOVIES\u URL=”http://api.themoviedb.o

我使用
Fragment
来显示电影名称、海报、评论和预告片,使用
API
键。我正在尝试添加
progressbar
,以便在加载
RecyclerView
时显示进度条,加载完成后,进度条将不可见

我尝试了各种方法,但它总是给我错误或应用程序编译和运行,但崩溃

下面是我的
MoviesUtil
类文件

公共类MoviesUtil{
私有静态最终Webb Webb=Webb.create();
私有静态最终字符串TMDB\u API\u MOVIES\u URL=”http://api.themoviedb.org/3/movie/%s?api_key=%s&page=%s";
私有静态最终字符串TMDB\U API\U视频\U URL=”http://api.themoviedb.org/3/movie/%s/videos?api_key=%s";
私有静态最终字符串TMDB\u API\u REVIEWS\u URL=”http://api.themoviedb.org/3/movie/%s/reviews?api_key=%s";
私有静态最终字符串TMDB\u POSTER\u URL=”https://image.tmdb.org/t/p/w185%s";
私有静态最终字符串TMDB\u background\u URL=”https://image.tmdb.org/t/p/w300%s";
私有静态最终字符串类型\u POPULAR=“POPULAR”;
专用静态最终字符串类型\u TOP\u RATED=“TOP\u RATED”;
私有静态最终字符串类型\u FAVORITES=“FAVORITES”;
公共静态布尔值isFavorite(上下文、电影){
Cursor Cursor=context.getContentResolver()
.query(MovieContract.CONTENT\u URI,
无效的
String.format(“%s=?和%s=?”,MovieContract.MOVIE\u ID,MovieContract.TYPE),
新字符串[]{movie.getId()+“”,键入_FAVORITES},
无效的
);
布尔值isFavorite=cursor.getCount()>0;
cursor.close();
返回是最喜欢的;
}
公共静态布尔切换收藏夹(上下文、电影){
if(isFavorite(上下文、电影)){
删除电影(上下文、类型、收藏夹、电影);
返回false;
}否则{
saveMovie(上下文、类型、收藏夹、电影);
返回true;
}
}
public static void getPopularMovies(活动活动、电影回调){
getMovies(活动、类型\流行、回调);
}
公共静态void getTopRatedMovies(活动,MoviesCallback){
getMovies(活动,类型为顶级,回调);
}
公共静态void getFavoritesMovies(活动活动、电影回调){
getMovies(活动、键入收藏夹、回调);
}
私有静态void getMovies(最终活动活动、最终字符串类型、最终MoviesCallback){
AsyncTask.execute(新的Runnable(){
@凌驾
公开募捐{
if(Util.isConnected(activity,false)和&!type.equals(type_FAVORITES)){
getMoviesFromApi(活动,类型);
}
getMoviesFromDb(活动、类型、回调);
}
});
}
私有静态void getMoviesFromApi(活动,字符串类型){
String apirl=String.format(TMDB\u API\u MOVIES\u URL、类型、activity.getString(R.String.TMDB\u API\u key),1);
试一试{
JSONArray moviesJson=WEBB.get(apiUrl)
.asJsonObject()
.getBody()
.getJSONArray(“结果”);
列出电影=电影(活动,电影JSON);
删除电影(活动、类型);
保存电影(活动、类型、电影);
}捕获(JSONException e){
e、 printStackTrace();
}
}
私有静态void getMoviesFromDb(活动活动、字符串类型、最终MoviesCallback){
试一试{
Cursor=activity.getContentResolver()
.query(MovieContract.CONTENT\u URI,
无效的
MovieContract.TYPE+“=?”,
新字符串[]{type},
无效的
);
最终列表电影=toMovies(光标);
cursor.close();
activity.runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
成功(电影);
}
});
}捕获(最终异常e){
activity.runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
错误(e);
}
});
}
}
公共静态void getReviewFromAPI(最终活动活动、最终电影、最终ReviewCallback){
if(Util.isConnected(活动,false)){
AsyncTask.execute(新的Runnable(){
@凌驾
公开募捐{
String apirl=String.format(TMDB_API_REVIEWS_URL,movie.getId(),activity.getString(R.String.TMDB_API_key));
最终列表审核=新建ArrayList();
试一试{
JSONArray reviewsJson=WEBB.get(apirl)
.asJsonObject()
.getBody()
.getJSONArray(“结果”);
addAll(toReviews(reviewsJson));
}捕获(最终异常e){
activity.runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
错误(e);
}
});
}
if(reviews.isEmpty()){
回顾=新回顾();
review.setContent(activity.getString(R.string.no_review_found));
评论。添加(评论);
}
activity.runOnUiThread(新的Runnable(){