我为我的英语立即道歉。我从Google找到了一个代码,将其安装在android studio上,但是代码的结果却不是我想要的。当我单击选项卡时,控件从item1到item2移到另一个控件(例如item1,item2,item3,item4),但ListViev元素保持不变。单击选项卡控件后如何更改PageViev元素?
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) {
}
});