Замена фрагмента в Tablayout Android - PullRequest
0 голосов
/ 25 октября 2019

Я использовал tablayout в моем проекте. Я должен заменить фрагмент в tablayout. Код подобен приведенному ниже

Класс активности

private void setupViewPager(ViewPager viewPager) {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());




        adapter.addFragment(Fragment1, "One");
        adapter.addFragment(Fragment2, "Two ");
        adapter.addFragment(Fragment3, "Three");
        viewPager.setAdapter(adapter);
    }

Интерфейс в Деятельности

@Override
    public void onInput(int input) {

        Here how to replace fragment three


    }

1 Ответ

0 голосов
/ 25 октября 2019

Я думаю, что замена фрагмента не очень хорошая идея. Поэтому я хотел бы показать вам другой способ достичь того, чего вы хотите.

  1. viewPager.setCurrentItem(position); вы можете использовать этот метод для изменения страницы. Здесь позиция - номер страницы, начиная с 0 до общего количества страниц - 1.
  2. Используйте ViewModal для передачи последних данных (в вашем случае "input"). Так что здесь вы можете установить значение от onInput(int input) и в каждом фрагменте ViewPager вы можете подписаться / отписаться от ViewModal для прослушивания изменений. Таким образом, вам не нужно заменять фрагмент, и страница, которая находится на экране, получит последние данные и может показать.
...