我有一个尴尬的问题,我真的很困惑,最糟糕的解决方法。
问题是,我有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();
}
}
谢谢!