我有以下viewmodel:
public class Feedviewmodel extends viewmodel { private final mutablelivedata<Photo> selectedPhoto = new mutablelivedata<>(); private final FeedRepository repository; private LiveData<Resource<List<Photo>>> Feed; @Inject Feedviewmodel(@NonNull final FeedRepository repository) { this.repository = repository; } public void selectPhoto(@NonNull final Photo photo) { selectedPhoto.setValue(photo); } public LiveData<Photo> getSelectedPhoto() { return selectedPhoto; } LiveData<Resource<List<Photo>>> getUserFeed() { if (Feed == null) { Feed = new mutablelivedata<>(); Feed = repository.get(); } return Feed; } @Override protected void onCleared() { super.onCleared(); }
}
我用这种方式观察Fragment中的Feed:
@Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); viewmodel.getUserFeed().observe(this,Feed -> { switch (Feed.status) { case ERROR: processErrorState(Feed.data); break; case LOADING: processLoadingState(Feed.data); break; case SUCCESS: if (Feed.data != null) processSuccessstate(Feed.data); break; } }); }
问题是:我怎样才能以正确的方式刷新饲料?假设用户触发了swipetoRefresh,因此该事件必须创建一个Feed的刷新任务.我如何使用viewmodel实现这一点?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。