Выделите ScrollView, содержащий фрагменты к конкретному фрагменту - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть ScrollView, где я создаю несколько Fragments при определенных условиях.Я хочу, чтобы при добавлении нового фрагмента в ScrollView он прокручивался так, чтобы Fragment находился в самой верхней части экрана.Вот мой код:

С Fragment Я называю это внутри onCreateView (поскольку Fragments генерируются динамически)

((MainActivity)getActivity()).scrollToFrag(frag_number+"");

И внутри моего MainActivity.class

public final void scrollToFrag(final String frag){
    scrollView.postDelayed(new Runnable() {
        public void run() {
            scrollView.smoothScrollTo(0, getSupportFragmentManager().findFragmentByTag(frag).getView().getTop());
        }
    }, 100);
}

Я замечаю небольшое движение прокрутки, но не то, что мне нужно (Fragment вообще не достигает вершины)

1 Ответ

0 голосов
/ 25 ноября 2018

Решил проблему, запустив код в исполняемом файле внутри фрагмента.

view.postDelayed(new Runnable() {
                @Override
                public void run() {
                    ((MainActivity)getActivity()).scrollToFrag(frag_number+"");
                }
            }, 200);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...