如何将getChildFragmentManager与扩展Dialog片段的类一起使用

时间:2018-07-08 13:22:39

标签: java android android-fragments android-dialogfragment android-tablayout

我在使用TabLayout片段。一旦我从TabLayout片段移动到下一个片段,然后按返回键。默认TabLayout片段上的内容消失。我在post中找到了可能的解决方案。以下是TabLayout的代码。

PrimeFaces.widget.ExtImageAreaSelect && (PrimeFaces.widget.ExtImageAreaSelect.prototype.cancelSelection = function () {
  this.instance && this.instance.cancelSelection()
});
TP4 = {
  Constants: {
    PAGE_ELEMENT_SELECTOR: '#page',
    HEADER_ELEMENT_SELECTOR: '#header',
    FOOTER_ELEMENT_SELECTOR: '#footer',
    BASKET_RELOAD_LINK_ID: '#reloadBasketLink',
    BASKET_POPUP_WIDTH: '460',
    BASKET_POPUP_HEIGHT: '400',
    SPECIAL_NOTICE_PART_POPUP_WIDTH: '380',
    SPECIAL_NOTICE_PART_POPUP_HEIGHT: '365',
    SPECIAL_NOTICE_DOCUMENT_LIST_POPUP_WIDTH: '600',
    SPECIAL_NOTICE_DOCUMENT_LIST_POPUP_HEIGHT: '400',
    SPECIAL_NOTICE_DOCUMENT_POPUP_WIDTH: '500',
    SPECIAL_NOTICE_DOCUMENT_POPUP_HEIGHT: '200',
    CUSTOMER_INFO_POPUP_WIDTH: '480',
    CUSTOMER_INFO_POPUP_HEIGHT: '405',
    SMALL_POPUP_WIDTH: '360',
    SMALL_POPUP_HEIGHT: '330',
    MEDIUM_POPUP_WIDTH: '800',
    MEDIUM_POPUP_HEIGHT: '600',
    NON_MODAL_DIALOG_Z_INDEX: 500
  },
  Context: {
    currentDialogZIndex: 0
  },
  showLoadingScreen: function (a) {
    a ? !a.href || a.href && '#' == a.href ? TP4.showLoadingScreenAfterTimeout()  : a.href && PF('loadingDialogWidget').show()  : PF('loadingDialogWidget').show()
  },
  showLoadingScreenAfterTimeout: function () {
    setTimeout(function () {
      PF('loadingDialogWidget').show()
    }, 100)
  },
  hideLoadingScreen: function () {
    PF('loadingDialogWidget').hide()
  },
  initPageLayout: function () {
    $(TP4.Constants.PAGE_ELEMENT_SELECTOR).css({
      'padding-top': $(TP4.Constants.HEADER_ELEMENT_SELECTOR).height(),
      'padding-bottom': $(TP4.Constants.FOOTER_ELEMENT_SELECTOR).height()
    })
  },
  adjustElementHeightToAvailableHeight: function (a, b) {
    var c = $(a),
    d = $(TP4.Constants.HEADER_ELEMENT_SELECTOR),
    g = $(TP4.Constants.FOOTER_ELEMENT_SELECTOR),
    e = $(window).height();
    0 < d.length && (e -= d.height());
    0 < g.length && (e -= g.height());
    null != b && (e -= b);
    c.height(e)
  },
  setElementCssHeightToContentHeight: function (a) {
    a = $(a);
    var b = a.height();
    a.css('height', b + 'px')
  },
  setDefaultCommand: function (a, b) {
    a.keydown(function (a) {
      var d = $.ui.keyCode;
      if (a.which ==
      d.ENTER || a.which == d.NUMPAD_ENTER) b.click(),
      a.preventDefault()
    })
  },
  scrollTo: function (a) {
    window.location.hash = '#' + a
  },
  scrollToTop: function () {
    $('html, body').animate({
      scrollTop: 0
    }, 0)
  },
  scrollToBottom: function (a) {
    $('html, body').animate({
      scrollTop: $(document).height()
    }, a)
  },
  adjustMarginForTwoColumnLayout: function (a, b) {
    $(b).css({
      'margin-left': $(a).width()
    })
  },
  restoreInputFieldValueFromHtml: function (a) {
    a.each(function (b) {
      $(this).val(a[b].defaultValue)
    })
  },
  disableLoadingScreenModality: function () {
    PF('loadingDialogWidget').cfg.modal = !1
  },
  enableLoadingScreenModality: function () {
    PF('loadingDialogWidget').cfg.modal = !0
  },
  moveDialogBehindModalContainer: function (a) {
    TP4.Context.currentDialogZIndex = a.jq.css('z-index');
    a.jq.css('z-index', TP4.Constants.NON_MODAL_DIALOG_Z_INDEX)
  },
  moveDialogBeforeModalContainer: function (a) {
    a.jq.css('z-index', TP4.Context.currentDialogZIndex)
  },
  synchronizeDialogModality: function (a) {
    TP4.disableLoadingScreenModality();
    TP4.moveDialogBehindModalContainer(a)
  },
  resetDialogModalityToDefault: function (a) {
    TP4.enableLoadingScreenModality();
    TP4.moveDialogBeforeModalContainer(a)
  },
  activateMaxLengthHandlingOnTextareas: function () {
    $('textarea[maxlength]').keyup(function () {
      var a = parseInt($(this).attr('maxlength'));
      $(this).val().length > a && $(this).val($(this).val().substr(0, $(this).attr('maxlength')))
    })
  },
  resizeTo: function (a, b, c) {
    var d = - 1 < navigator.userAgent.toLowerCase().indexOf('chrome');
    null != a && (d ? setTimeout(function () {
      a.resizeTo(b, c)
    }, 4)  : a.resizeTo(b, c))
  },
  enableSubmenus: function () {
    $('li').hover(function () {
      var a = $(this);
      a.closest('ul').children('li.hover').removeClass('hover');
      a.addClass('hover');
      a.attr('isHovered', !0)
    }, function () {
      var a = $(this);
      a.removeAttr('isHovered');
      setTimeout(function () {
        a.attr('isHovered') || a.removeClass('hover')
      }, 350)
    })
  },
  redirect: function (a) {
    window.location.href = a
  },
  overwriteIfZero: function (a) {
    0 < a.value.length && '0' == a.value.substring(0, 1) && (a.value = a.value.substring(1), TP4.overwriteIfZero(a))
  },
  Part: {
    showChildList: function (a) {
      $('#childList' + a).show();
      $('#showChildList' + a).hide();
      $('#hideChildList' + a).show()
    },
    hideChildList: function (a) {
      $('#childList' +
      a).hide();
      $('#showChildList' + a).show();
      $('#hideChildList' + a).hide()
    },
    setAllDefaultCommands: function () {
      TP4.setDefaultCommand($('#inputTextDescription'), $('#commandLinkDescription'));
      TP4.setDefaultCommand($('#inputTextPartNumber'), $('#commandLinkPartNumber'));
      TP4.setDefaultCommand($('#inputTextPicPos'), $('#commandLinkPicPos'))
    }
  },
  Basket: {
    openAddToBasketPopUp: function (a) {
      TP4.PopUp.openPopUpWithSize(a.href, a.target, TP4.Constants.BASKET_POPUP_WIDTH, TP4.Constants.BASKET_POPUP_HEIGHT, 0, 0);
      return !1
    },
    initializeDatePicker: function (a) {
      a = $('#requestDeliveryDate').datepicker({
        dateFormat: 'yy-mm-dd',
        changeMonth: !0,
        changeYear: !0,
        yearRange: '-90:+0',
        showOn: 'button',
        buttonImageOnly: !0,
        buttonImage: a + '/images/calendar.gif',
        minDate: 0
      });
      a.attr('readonly', !0);
      a.datepicker('option', 'showAnim', 'show')
    },
    setAllDefaultCommands: function () {
      TP4.setDefaultCommand($('#basketOverviewItemListWrapper input'), $('#updateBasket'))
    }
  },
  SpecialNotices: {
    openSpecialNoticePartPopUp: function (a) {
      TP4.PopUp.openPopUpWithSize(a.href, a.target, TP4.Constants.SPECIAL_NOTICE_PART_POPUP_WIDTH, TP4.Constants.SPECIAL_NOTICE_PART_POPUP_HEIGHT, 0, 0);
      return !1
    },
    openSpecialNoticeDocumentListPopUp: function (a) {
      TP4.PopUp.openPopUpWithSize(a.href, a.target, TP4.Constants.SPECIAL_NOTICE_DOCUMENT_LIST_POPUP_WIDTH, TP4.Constants.SPECIAL_NOTICE_DOCUMENT_LIST_POPUP_HEIGHT, 0, 0);
      return !1
    },
    openSpecialNoticeDocumentPopUp: function (a) {
      TP4.PopUp.openPopUpWithSize(a.href, a.target, TP4.Constants.SPECIAL_NOTICE_DOCUMENT_POPUP_WIDTH, TP4.Constants.SPECIAL_NOTICE_DOCUMENT_POPUP_HEIGHT, 0, 0);
      return !1
    },
    initializeDocumentView: function (a) {
      if (a) {
        a = $('#specialNoticeHeader');
        var b = 0;
        0 < a.length && (b = a.height());
        $('#specialNoticesPdf').css('visibility', 'visible');
        $.browser.webkit ? setTimeout(function () {
          TP4.adjustElementHeightToAvailableHeight('#specialNoticesDocumentContainer', b)
        }, 100)  : TP4.adjustElementHeightToAvailableHeight('#specialNoticesDocumentContainer', b)
      }
    },
    afterAddToBasket: function (a, b) {
      b && TP4.SpecialNotices.initializeDocumentView(a);
      TP4.SpecialNotices.triggerBasketRefreshInMainWindow();
      scroll(0, 0)
    },
    triggerBasketRefreshInMainWindow: function () {
      TP4.SpecialNotices.triggerBasketRefresh(window.opener)
    },
    triggerBasketRefresh: function (a) {
      var b = a.$(TP4.Constants.BASKET_RELOAD_LINK_ID);
      0 < b.length ? (a.TP4.showLoadingScreen(), a.location.href = b.attr('href'))  : a.opener && TP4.SpecialNotices.triggerBasketRefresh(a.opener)
    }
  },
  PopUp: {
    openSmallPopUpForLink: function (a) {
      TP4.PopUp.openPopUpWithSize(a.href, a.target, TP4.Constants.SMALL_POPUP_WIDTH, TP4.Constants.SMALL_POPUP_HEIGHT, 0, 0);
      return !1
    },

-----------------------------------------------------------------
SKIPPING CODE TO THE END
-------------------------------------------------------------------
  Infoline: {
    openCustomerInfoPopUpForLink: function (a) {
      TP4.PopUp.openPopUpWithSize(a.href, a.target, TP4.Constants.CUSTOMER_INFO_POPUP_WIDTH, TP4.Constants.CUSTOMER_INFO_POPUP_HEIGHT, 0, 0);
      return !1
    },
    triggerInfolineRefreshInMainWindow: function () {
      var a = window.opener.$(TP4.Constants.BASKET_RELOAD_LINK_ID);
      0 < a.length ? (window.opener.location.href = a.attr('href'), window.opener.TP4.showLoadingScreen())  : (window.opener.TP4.showLoadingScreen(), window.opener.location.search = TP4.Infoline.getOpenerUrlWithEmptyWindowId())
    },
    getOpenerUrlWithEmptyWindowId: function () {
      for (var a = {
      }, b = window.opener.location.search.substring(1), c = /([^&=]+)=([^&]*)/g, d; d = c.exec(b); ) a[decodeURIComponent(d[1])] = decodeURIComponent(d[2]);
      a.windowId = '';
      return $.param(a)
    }
  },
  History: {
    initializeDatePicker: function (a) {
      var b = $('#dateFrom, #dateTo').datepicker({
        dateFormat: 'yy-mm-dd',
        changeMonth: !0,
        changeYear: !0,
        yearRange: '-90:+0',
        showOn: 'button',
        buttonImageOnly: !0,
        buttonImage: a + '/images/calendar.gif',
        onSelect: function (a) {
          var d = 'dateFrom' == this.id ? 'minDate' :
          'maxDate',
          g = $(this).data('datepicker');
          a = $.datepicker.parseDate(g.settings.dateFormat || $.datepicker._defaults.dateFormat, a, g.settings);
          b.not(this).datepicker('option', d, a)
        }
      });
      b.attr('readonly', !0);
      b.datepicker('option', 'showAnim', 'show')
    }
  },
  FAQ: {
    Context: {
      selectedIssueId: - 1,
      selectedQuestionsIssueId: - 1,
      selectedQuestionAnchor: ''
    },
    setSelectedIssueId: function (a) {
      TP4.FAQ.Context.selectedIssueId = a;
      TP4.FAQ.Context.selectedQuestionsIssueId = a
    },
    setSelectedQuestionsIssueId: function (a) {
      TP4.FAQ.Context.selectedQuestionsIssueId = a;
      - 1 === TP4.FAQ.Context.selectedIssueId && (TP4.FAQ.Context.selectedIssueId = a)
    },
    setSelectionQuestionAnchor: function (a) {
      TP4.FAQ.Context.selectedQuestionAnchor = 'question' + a
    },
    areQuestionsAlreadyLoaded: function () {
      if (TP4.FAQ.Context.selectedIssueId === TP4.FAQ.Context.selectedQuestionsIssueId) return TP4.FAQ.scrollToAnchor(),
      !1;
      TP4.FAQ.Context.selectedIssueId = TP4.FAQ.Context.selectedQuestionsIssueId
    },
    scrollToAnchor: function () {
      TP4.scrollTo(TP4.FAQ.Context.selectedQuestionAnchor)
    },
    moveOnClickFromInnerLinkToTreeNodeContainer: function (a, b) {
      $(a).find('.ui-treenode-leaf').each(function () {
        var a = $(this).find(b),
        d = a.attr('onclick');
        $(this).attr('onclick', d);
        a.attr('onclick', null)
      })
    }
  }
};
PrimeFaces.widget.Poll = PrimeFaces.widget.BaseWidget.extend({
  init: function (a) {
    this.cfg = a;
    this.id = this.cfg.id;
    this.active = !1;
    this.cfg.autoStart && this.start()
  },
  refresh: function (a) {
    this.isActive() && this.stop();
    this.init(a)
  },
  start: function () {
    this.timer = setInterval(this.cfg.fn, 1000 * this.cfg.frequency);
    this.active = !0
  },
  stop: function () {
    clearInterval(this.timer);
    this.active = !1
  },
  handleComplete: function (a, b, c) {
    c.stop && this.stop()
  },
  isActive: function () {
    return this.active
  }
});

帖子中的解决方案建议使用 getChildFramentManager 而不是 getSupportFragmentManager 。我一改成getChildFragmentManager。我弄错了。

public class IndividualCollectionSheetFragment extends MifosBaseFragment {

private TabLayout tabLayout;
private ViewPager viewPager;
private View rootView;

public IndividualCollectionSheetFragment() {
}

public static IndividualCollectionSheetFragment newInstance() {
    Bundle args = new Bundle();
    IndividualCollectionSheetFragment fragment = new IndividualCollectionSheetFragment();
    fragment.setArguments(args);
    return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater,
                         @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    rootView = inflater.inflate(R.layout.fragment_individual_recycler, container, false);
    ButterKnife.bind(this, rootView);
    setToolbarTitle(getStringMessage(R.string.individual_collection_sheet));
    viewPager = rootView.findViewById(R.id.viewpager);
    setupViewPager(viewPager);

    tabLayout = rootView.findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
    return rootView;
}

private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getActivity().getSupportFragmentManager());
    adapter.addFragment(new NewIndividualCollectionSheetFragment(), Constants.NEW);
    adapter.addFragment(new SavedIndividualCollectionSheetFragment(), Constants.SAVED);
    viewPager.setAdapter(adapter);
}

class ViewPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager manager) {
        super(manager);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }
}

  }

这可能是由于类CollectionSheetDialogFragment扩展了DialogFragment,并且与所使用的不同片段管理器之间必须存在不一致之处。

NewIndividualCollectionSheet.java (选项卡布局中的第一个片段)

        java.lang.IllegalStateException: Fragment CollectionSheetDialogFragment{572dd42 #0 Identifier Dialog Fragment} declared target fragment NewIndividualCollectionSheetFragment{45e8153 #0 id=0x7f090361 android:switcher:2131297121:0} that does not belong to this FragmentManager!

CollectionSheetDialogFragment.java

       public class NewIndividualCollectionSheetFragment extends MifosBaseFragment implements
    IndividualCollectionSheetMvpView, MFDatePicker.OnDatePickListener,
    Spinner.OnItemSelectedListener, View.OnClickListener {

@BindView(R.id.btn_fetch_collection_sheet)
Button btnFetchSheet;

@BindView(R.id.sp_office_list)
Spinner spOffices;

@BindView(R.id.sp_staff_list)
Spinner spStaff;

@BindView(R.id.tv_repayment_date)
TextView tvRepaymentDate;

@Inject
NewIndividualCollectionSheetPresenter presenter;

private IndividualCollectionSheet sheet;
private DialogFragment datePicker;
private RequestCollectionSheetPayload requestPayload;
private View rootView;
private ArrayAdapter<String> officeAdapter;
private ArrayList<String> officeNameList;
private List<Office> officeList;
private ArrayAdapter<String> staffAdapter;
private ArrayList<String> staffNameList;
private List<Staff> staffList;
private int officeId;
private int staffId;
private int requestCode = 1;
private boolean success = true;

private String actualDisbursementDate;
private String transactionDate;


public NewIndividualCollectionSheetFragment() {

}

public static NewIndividualCollectionSheetFragment newInstance() {
    Bundle args = new Bundle();
    NewIndividualCollectionSheetFragment fragment = new NewIndividualCollectionSheetFragment();
    fragment.setArguments(args);
    return fragment;
}


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ((MifosBaseActivity) getActivity()).getActivityComponent().inject(this);
    if (savedInstanceState != null) {
        sheet = (IndividualCollectionSheet) savedInstanceState.get(
                Constants.EXTRA_COLLECTION_INDIVIDUAL);
    }
    setHasOptionsMenu(true);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    rootView = inflater.inflate(R.layout.fragment_new_collection_sheet, container, false);
    ButterKnife.bind(this, rootView);
    setToolbarTitle(getStringMessage(R.string.individual_collection_sheet));
    presenter.attachView(this);

    setUpUi();
    return rootView;
}

private void setUpUi() {
    setRepaymentDate();
    officeNameList = new ArrayList<>();
    officeAdapter = new ArrayAdapter<>(getActivity(),
            android.R.layout.simple_spinner_item, officeNameList);
    officeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spOffices.setAdapter(officeAdapter);
    spOffices.setOnItemSelectedListener(this);

    staffNameList = new ArrayList<>();
    staffAdapter = new ArrayAdapter<>(getActivity(),
            android.R.layout.simple_spinner_item, staffNameList);
    staffAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spStaff.setAdapter(staffAdapter);
    tvRepaymentDate.setOnClickListener(this);
    btnFetchSheet.setOnClickListener(this);
    presenter.fetchOffices();

}

void setRepaymentDate() {
    datePicker = MFDatePicker.newInsance(this);
    String date = DateHelper.
            getDateAsStringUsedForCollectionSheetPayload(MFDatePicker.getDatePickedAsString());
    tvRepaymentDate.setText(date.replace('-', ' '));
    transactionDate = date.replace('-', ' ');
    actualDisbursementDate = transactionDate;
}

private void prepareRequestPayload() {
    requestPayload = new RequestCollectionSheetPayload();
    requestPayload.setOfficeId(officeId);
    requestPayload.setStaffId(staffId);
    requestPayload.setTransactionDate(tvRepaymentDate.getText().toString());
}

@Override
public void setOfficeSpinner(List<Office> offices) {
    officeList = offices;
    officeNameList.clear();
    officeNameList.add(getString(R.string.spinner_office));
    officeNameList.addAll(presenter.filterOffices(officeList));
    officeAdapter.notifyDataSetChanged();
}

@Override
public void onDatePicked(String date) {
    String d = DateHelper.getDateAsStringUsedForCollectionSheetPayload(date);
    tvRepaymentDate.setText(d.replace('-', ' '));
}

public void retrieveCollectionSheet() {
    prepareRequestPayload();
    presenter.fetchIndividualCollectionSheet(requestPayload);
}

public void setTvRepaymentDate() {
    datePicker.show(getActivity().getSupportFragmentManager(),
            FragmentConstants.DFRAG_DATE_PICKER);
}


@Override
public void setStaffSpinner(List<Staff> staffs) {

    spStaff.setOnItemSelectedListener(this);
    staffList = staffs;
    staffNameList.clear();
    staffNameList.add(getString(R.string.spinner_staff));
    staffNameList.addAll(presenter.filterStaff(staffList));
    staffAdapter.notifyDataSetChanged();
}

@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
    switch (adapterView.getId()) {
        case R.id.sp_office_list:
            if (i == officeList.size() || i == 0) {
                Toaster.show(rootView, getStringMessage(R.string.error_select_office));
            } else {
                Toaster.show(rootView, officeNameList.get(i));
                officeId = officeList.get(i - 1).getId();
                presenter.fetchStaff(officeId);
            }
            break;

        case R.id.sp_staff_list:
            if (i == staffList.size() || i == 0) {
                Toaster.show(rootView, getStringMessage(R.string.error_select_staff));
            } else {
                staffId = staffList.get(i - 1).getId();
            }
            break;
    }

}

public void popupDialog() {
    CollectionSheetDialogFragment collectionSheetDialogFragment =
            CollectionSheetDialogFragment.newInstance(tvRepaymentDate.getText().toString(),
            sheet.getClients().size());
    collectionSheetDialogFragment.setTargetFragment(this, requestCode);
    FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager()
            .beginTransaction();
    fragmentTransaction.addToBackStack(FragmentConstants.FRAG_DOCUMENT_LIST);
    collectionSheetDialogFragment.show(fragmentTransaction, "Identifier Dialog Fragment");
}

public void getResponse(String response) {
    switch (response) {
        case "FillNow":
            FragmentManager fm = getActivity()
                    .getSupportFragmentManager();
            fm.popBackStack();
            IndividualCollectionSheetDetailsFragment frag = new
                    IndividualCollectionSheetDetailsFragment().newInstance(sheet,
                    actualDisbursementDate, transactionDate);
            ((MifosBaseActivity) getActivity()).replaceFragment(frag,
                    true, R.id.container);
            break;
    }
}

@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}

@Override
public void showSheet(IndividualCollectionSheet individualCollectionSheet) {
    sheet = individualCollectionSheet;
}

@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putParcelable(Constants.EXTRA_COLLECTION_INDIVIDUAL, sheet);
}

@Override
public void showSuccess() {
    if (success) {
        popupDialog();
    }
}

@Override
public void showError(String message) {
    Toaster.show(rootView, message);
}

@Override
public void showNoSheetFound() {
    success = false;
    Toaster.show(rootView, getStringMessage(R.string.no_collectionsheet_found));
}

@Override
public void showProgressbar(boolean b) {
    if (b) {
        showMifosProgressDialog();
    } else {
        hideMifosProgressDialog();
    }
}

@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.tv_repayment_date:
            setTvRepaymentDate();
            break;

        case R.id.btn_fetch_collection_sheet:
            retrieveCollectionSheet();
            break;
    }

}
}

有人可以帮我解决这个错误,以便我可以持久使用TabLayout On back吗?

2 个答案:

答案 0 :(得分:0)

也许这项工作: 替换getChildFragmentManager()代替PlacementTarget

答案 1 :(得分:0)

尝试像这样在IndividualCollectionSheetFragment.java中更改此seupViewPager()

private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getActivity().getChildFragmentManager());
adapter.addFragment(new NewIndividualCollectionSheetFragment(), Constants.NEW);
adapter.addFragment(new SavedIndividualCollectionSheetFragment(), Constants.SAVED);
viewPager.setAdapter(adapter);
}