Для удобства пользования ViewPager загружает не только вид, который вы сейчас просматриваете, но и смежные виды.Это означает, что если вы прокручиваете из положения 0 в положение 1, то, что на самом деле происходит, это то, что позиция 2 загружена, поэтому она будет готова, когда вы прокрутите дальше.Вот почему изменение применяется к «следующему» представлению, а не к текущему (если вы прокрутите от представления 2 до 1, то будет создано представление 0).
Поскольку вы устанавливаете статическое значение LinearLayout в OnCreate, то изменяется только последний созданный вид - и это будет только тот, который вы просматриваете, если прокрутить до концапейджерВместо этого вы должны отслеживать, какой фрагмент просматривает пользователь (ViewPager.setOnPageChangeListener ()), и кэшировать фрагмент в своем адаптере.Затем вы знаете, какая позиция фрагмента вам нужна, и когда вы ее попросите, вы просто вернете ту, которую создали ранее (не создавайте новую, тогда она не будет работать:)).
Или версия tl; dr: LL_Head почти всегда устанавливается следующим фрагментом, а не текущим.Не устанавливайте это статически.Кэшируйте его в своем PagerAdapter и перезапускайте, когда вам это нужно.
Редактировать: В качестве альтернативы вы можете захотеть, чтобы фрагменты прослушивали какое-то событие, которое говорит им, должны ли они отображать или скрывать макет, о котором идет речь.В противном случае это будет влиять только на текущий фрагмент, а не на все фрагменты.