在完整内容处理之前设置ProgressBar

时间:2019-05-09 10:51:27

标签: java android

我有一个回收商,他从改造中接收信息。我希望进度条在整个处理此信息之前一直处于活动状态。 (也许是进度条可见的时间或其他时间)

我使用自定义进度栏-https://github.com/ybq/Android-SpinKit

public void retrofitView() {
    ProgressBar progressBar;
    progressBar = findViewById(R.id.ProgressBar_MainActivity);
    DoubleBounce doubleBounce = new DoubleBounce();
    progressBar.setIndeterminateDrawable(doubleBounce);
    progressBar.setVisibility(View.VISIBLE);
    Call<List<Restaurants>> call = RetrofitClient.apiService.getRestaurants();
    call.enqueue(new Callback<List<Restaurants>>() {
        @Override
        public void onResponse(Call<List<Restaurants>> call, Response<List<Restaurants>> response) {
            restaurantRecyclerInit(response.body());
        }

        @Override
        public void onFailure(Call<List<Restaurants>> call, Throwable t) {
            Toast.makeText(MainActivity.this, "ddd", Toast.LENGTH_SHORT).show();
        }
    });
}

3 个答案:

答案 0 :(得分:4)

只需在progressBar.setVisibility(View.GONE);onResponse中都设置onFailure。 不要设置计时器,因为您不知道要多长时间。

答案 1 :(得分:0)

最好使用AsyncTask类,并在代码的开头加载progressBar并将其停止在“ onPostExecute”方法上。有关更多详细信息,请参见:https://developer.android.com/reference/android/os/AsyncTask

答案 2 :(得分:0)

使用以下代码将为您提供帮助

np.where