如何在更改选项卡后更改 PageView?

How to change PageView after change tabs?

我立即为我的英语道歉)。我从一个google找到了一个代码,我把它安装在一个android工作室,但是代码的结果不是我想要的。当我单击选项卡时,控件进入另一个(例如,item1、item2、item3、item4)从 item1 到 item2,但 ListViev 元素保持不变。如何让PageViev元素在点击tab控件后发生变化?

  final TabLayout tab=findViewById(R.id.tabs);
    final ViewPager viewPager=findViewById(R.id.view_pager);
    tab.removeAllTabs();
    for (int k = 0; k <GoodsGroupList.size(); k++) {
       tab.addTab(tab.newTab().setText("" + GoodsGroupList.get(k)));
    }

    tab.setTabMode(TabLayout.MODE_SCROLLABLE);  
    PlansPagerAdapter adapter = new PlansPagerAdapter(getSupportFragmentManager(), tab.getTabCount());
    viewPager.setAdapter(adapter);
    viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tab));

Fragment_home.xml

<com.google.android.material.tabs.TabLayout
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#000000"
    tools:ignore="MissingConstraints" />

<androidx.viewpager.widget.ViewPager
    android:id="@+id/view_pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="48dp"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:layout_below="@+id/tabs"/>

Fragment_menu.xml

<ListView
    android:id="@+id/ListViewer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:divider="@drawable/list_divider"
    tools:ignore="MissingConstraints" />

Tabview does not change tab on touch

我发现了一个类似的问题,并添加了部分代码,并在5月解决了问题。

tab.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
                Log.d("Tab", String.valueOf(tab.getPosition()));
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {

            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });