Я хочу, чтобы мой фрагмент загружался только при нажатии на вкладку.То есть я вызываю веб-сервис для каждого фрагмента, поэтому я хочу, чтобы этот веб-сервис вызывался только тогда, когда пользователь нажимает на конкретную вкладку;загружает фрагмент.
Мои фрагменты прикреплены к пейджеру просмотра.
Я переопределил следующий метод в моих фрагментах: setUserVisibleHint
override fun setUserVisibleHint(isFragmentVisible: Boolean) {
super.setUserVisibleHint(true)
if (this.isVisible) {
// we check that the fragment is becoming visible
if (isFragmentVisible && !isLoadOnce) {
callAPI(param)
isLoadOnce = true
}
}
}
переменная установлена как: private var isLoadOnce = false в классе фрагментов.
У меня есть 3 фрагмента в количестве, проблема в том, что всплывающее окно моей активности, первый фрагмент виден, и еслиЯ щелкаю последнюю вкладку, которая является третьей вкладкой для загрузки третьего фрагмента, ничего не происходит, если веб-служба вообще не будет вызывать.
Но когда я щелкаю второй фрагмент, а затем третий фрагмент, ида, тогда веб-служба вызывает только
Поэтому я хочу вызывать веб-службу всякий раз, когда пользователь щелкает каждый фрагмент (фрагмент № 2 или фрагмент № 3)!Может кто-нибудь выяснить, что я делаю не так?