小编Dig*_*tel的帖子

使用多个片段设置RadioButton.setChecked

嘿,我有一个非常愚蠢的问题,我无法弄清楚为什么它没有按预期工作.所以我使用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)

android radio-button android-fragments android-viewpager

13
推荐指数
1
解决办法
1172
查看次数