如何在使用改造 2 时显示旋转图标以获取异步 Restful 调用的响应

How to show spinning icon while using retrofit 2 to get a response from Async Restful call

我已经使用 Square / Retrofit Restful 框架从 Restful 服务中获取数据,它的工作原理非常棒,代码片段如下所示:

FooService restInterface =  new RestAdapter.Builder().setEndpoint(FooService.URL).build().create(FooService.class);
    restInterface.getAllFoos(new Callback<FooModel>() {
        @Override
        public void success(FooModel model, Response response) {
                //get a list of Foo instances.
            }
            updateUI();
        }

        @Override
        public void failure(RetrofitError error) {
                //log errors.
        }

    });

我知道这是一个异步调用,但是当 retrofit 忙于在后台工作时,我可以在顶部有一个旋转的图标吗?以防网络不可用。

还有可以设置超时时间,当时间到了,提示选择继续等待还是中止任务?

我注意到这个网站上有一些接近的东西:,但仍然不知道如何去做。另外,我的要求可能更简单

是的,这完全有可能。

您可以在调用端点之前或之后调用某种 startSpinner() 函数。然后,在 success()failure() 中,您可以调用某种 stopSpinner() 函数。

至于超时功能,您应该在底层 HTTP 客户端而不是 Retrofit 上设置超时。如果您不想使用默认超时,您可以阅读有关设置自定义超时的更多信息