Как получить событие фрагмента, когда он размещает дочерние макеты? - PullRequest
0 голосов
/ 02 июля 2019

В моем проекте студии android у меня есть фрагмент (класс MainFragment) и прокрутка внутри. В классе MainFragment я хочу получить событие, когда фрагмент уже размещен в дочерних представлениях. я хочу вызвать метод scrollview.getHeight () и не получить 0, потому что система еще не рассчитала фактическую высоту scrollview. Есть ли решение?

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

Вы можете использовать метод onViewCreated.Он вызывается при создании представления, поэтому вы не получите 0 высоты оттуда.

@Overrride
void onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    scrollView.doOnPreDraw {
        println("Height: "+it.height)
        println("Mesured Height: "+it.measuredHeight)
    }
}
0 голосов
/ 02 июля 2019

Сделайте всю работу над @ Resume , за это время фрагмент будет создан и макет добавлен, поэтому у вас должна быть высота

  @Override
  public void onResume() {
    super.onResume();
    // your code here ... 
  }
...