根据条件Retrofit重试连接

时间:2016-05-03 13:37:06

标签: android retrofit

我有一个尴尬的问题,我真的很困惑,最糟糕的解决方法。

问题是,我有2个活动,一个显示一个列表,一个"新"按钮。当我点击这个新按钮时,用户进入创建屏幕,上传照片,输入一些信息并发送。一旦此过程成功,用户将移回上一个活动,列表将刷新并显示新项目。 但是在后端,图像在AWS Lambda中处理,这意味着当列表刷新发生时,新添加的图像永远不会显示,因此用户需要离开并返回到屏幕(当然,它很可怕) )。

我的问题是,什么是最好的方式来拉动"服务器获取此图像?? 我正在使用Retrofit。

一些代码:

    KidsService service = ServiceGenerator.createService(KidsService.class, BuildConfig.API_URL, DindaApplication.getSessionRepository().getSession());

            service.getKids(new Callback<KidsList>() {
                @Override
                public void success(KidsList kidsList, Response response) {
                    mView.onFetchKids(kidsList);
                }

                @Override
                public void failure(RetrofitError error) {
                    mView.onFetchKidsError(error);
                }
            });

 @Override
    public void onFetchKids(KidsList kids) {
        loadKids(kids);
    }
private void loadKids(KidsList kids) {
        hideLoading();

        if (kids != null && kids.getKids().size() > 0) {
            mKids = kids;

            if (mAdapter == null) {
                mAdapter = new KidsAdapter();
                mAdapter.setListener(this);
            }

            mAdapter.setKidsList(mKids);
            mKidsRecyclerView.setVisibility(View.VISIBLE);
            mKidsRecyclerView.setAdapter(mAdapter);

            if (mConfirmationMsg != null){
                Snackbar.make(getView(), mConfirmationMsg, Snackbar.LENGTH_LONG).show();
            }

        } else {
            showMessage();
        }
    }

谢谢!

0 个答案:

没有答案