Дети в TabLayout имеют позицию и размер 0, когда в onResume () в Activity - PullRequest
0 голосов
/ 24 декабря 2018

У меня есть активность с TabLayout с вкладками.В onResume () Activity я добавляю все вкладки через addTab / newTab :

theTabLayout.addTab(theTab, whatever);

Это работает, но я также пытаюсь сделать одну изВкладки, выбранные с помощью boolean isThisTabSelected:

theTabLayout.addTab(theTab, isThisTabSelected);

Это не работает, когда я отлаживаю TabLayout.java. метод calculateScrollXForTab (, который можно увидеть, например, здесь ), он поворачиваетсяиз этого он возвращает 0, в то время как он должен возвращать вид смещения х выбранной вкладки.

супер уродливое решение для этого :

theTabLayout.addTab(theTab, whatever);
if(isSelectedCategory){
    new Handler().postDelayed(() -> {
        theTab.select();
    }, 1);
}

Нопочему не работает?Разве TabLayout не должен быть должным образом измерен в onResume()?

РЕДАКТИРОВАТЬ: ОК, когда я написал вопрос, я начал думать -> поскольку я добавляю эти вкладки программно, тогда нет никакого способазная их размеры во время создания!Наверное, поэтому.

...