嘿,我有一个非常愚蠢的问题,我无法弄清楚为什么它没有按预期工作.所以我使用viewpager和FragmentStatePagerAdapter有一个MultiFragment布局(每个都有一些不同的问题).当我打开托管所有这些片段的屏幕时,我正在尝试使用网络呼叫恢复之前的状态(标记所有已回答的问题).但是,如果我的片段对用户不可见,它似乎无法更新单选按钮/复选框的已检查状态.
有谁知道我能做些什么来实现所希望的行为?
欢呼并提前致谢!
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
presenter.restoreAnswersFromPreviousSession(questionId);
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisible()) {
if (isVisibleToUser) {
presenter.restoreAnswersFromPreviousSession(questionId);
Log.d("Fit", "My Fragment is visible");
} else {
Log.d("Fit", "My Fragment is not visible");
}
}
}
Run Code Online (Sandbox Code Playgroud)
在这里我恢复状态(在请求成功后调用)
previousReplies = repliesToRestore;
for (QualityReportReply reportReply : repliesToRestore) {
int id = reportReply.id();
switch (id) {
case 201: {
boolean tooThin = (boolean) reportReply.value();
if (tooThin) {
materialTooThinGroupYes.setChecked(true);
} else {
materialTooThinGroupNo.setChecked(true); …
Run Code Online (Sandbox Code Playgroud)