首页 > 解决方案 > 替换 Tablayout Android 中的片段

问题描述

我在我的项目中使用了 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);
    }

Activity中的界面

@Override
    public void onInput(int input) {

        Here how to replace fragment three


    }

标签: androidandroid-fragmentsandroid-tablayout

解决方案


我认为替换片段不是一个好主意。所以我想向你展示另一种方法来实现你想要的。

  1. viewPager.setCurrentItem(position);您可以使用此方法更改页面。这里的位置是从 0 到总页数 - 1 的页码。
  2. 使用 ViewModal 传递最新数据(在您的情况下"input")。因此,您可以在此处设置 onInput(int input)ViewPager 的每个片段的值,您可以订阅/取消订阅 ViewModal 以侦听更改。这样您就不需要更换片段,屏幕上的页面将获得最新数据并可以显示。

推荐阅读