Ich habe festgestellt, dass, wenn ich zuerst die benutzerdefinierte Ansicht für jede Registerkarte im TabLayout eingestellt habe, muss ich die erste (Index 0) als ausgewählt festlegen.
TabLayout toolbarTabLayout = (TabLayout) findViewById(R.id.tabs);
toolbarTabLayout.setupWithViewPager(mViewPager);
toolbarTabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
toolbarTabLayout.setTabMode(TabLayout.MODE_FIXED);
toolbarTabLayout.setTabTextColors(R.color.colorPrimary, R.color.white);
// Iterate over all tabs and set the custom view
for (int i = 0; i < toolbarTabLayout.getTabCount(); i++) {
TabLayout.Tab tab = toolbarTabLayout.getTabAt(i);
View v=mSectionsPagerAdapter.getTabView(i);
// no tabs are actually selected at start, this will make sure the
// selector for the colors comes in right when initialized
if (i==0)
v.setSelected(true);
tab.setCustomView(v);
}
Dies scheint zu erzwingen, dass die erste Registerkarte ausgewählt wird, wenn die benutzerdefinierte Ansicht angewendet wird. Es fühlt sich wirklich an wie ein Hack, hoffentlich wird jemand anderes das wirkliche Problem herausfinden und eine bessere Lösung vorschlagen.
wie u ur Problem behoben, weil ich ist nicht von Custom – Erum