Ich bin neu in Android-Entwicklung. Ich habe eine ViewPager
, die TabLayout
enthält (das hat feste Anzahl von Registerkarten). Die ViewPager
hat SectionPagerAdapter
(das hat ein Fragment, das Tabs entspricht).Android: Aktualisierung Tab-Inhalt
Jetzt möchte ich den Inhalt der Registerkarte aktualisieren, wenn der Benutzer die Registerkarte auswählt und sichtbar wird (oder wenn der Benutzer den Inhalt aktualisieren möchte).
Aber ich bin mir nicht sicher, welcher ist der richtige Weg, ich kann das tun.
Bisher bisher fand ich zwei Lösungen:
1) In Zuhörer TabLayout
:
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener()
{
@Override
public void onTabSelected(TabLayout.Tab tab)
{
mViewPager.setCurrentItem(tab.getPosition());
// Update tab containts here
}
@Override
public void onTabUnselected(TabLayout.Tab tab)
{
}
@Override
public void onTabReselected(TabLayout.Tab tab)
{
}
});
2) Verwenden Sie ViewPager.OnPageChangeListener
auf Rückrufe für, wenn ein Seitenfragment zu erhalten (innen Tab) wird sichtbar:
viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener()
{
@Override
public void onPageSelected(int position)
{
// Update tab containts here
}
});
Kann s Omeone Experte in diesem bitte beraten Sie mich?
Also, um zu bekommen, welche Registerkarte ausgewählt ist, verwende 'onTabSelected'. Danke für die Antwort. Ehrlich gesagt, bin ich immer noch nicht sehr klar über Beziehungen zwischen tablayout viewpager Fragment und Adapter. Wenn Sie einen Link zu einem Dokument teilen können, das alles mit Diagramm und Beispiel beschreibt, wäre das großartig. – Atul