私のアプリでTabLayoutとViewPagerを使用しました。私はページをスワイプするたびにActionBarのタイトルを変更したい。私はある程度までそうすることができました。私が直面している問題は、アプリケーションの起動時に、アクションバーに表示されるタイトルは、私のアプリのタイトルです。私がスワイプして後ろにスワイプすると、タイトルは私が割り当てたもの(正しいもの)になります。TabLayoutでのアプリケーション起動時の特定のタブのデフォルトの「選択」
私のアプリのタイトルが「ABC」だとします。アプリの起動時に、デフォルトのアクションバーのタイトルは「ABC」と表示されます。私がスワイプしてからtab1に戻ると、正しいタイトルが表示されます。
これはおそらく、アプリケーションの起動時に実際に「選択」されていないためです。したがって、コードは機能しません。
私はsetCurrentItemメソッドも使用しています。このメソッドはデフォルトのページを設定しているため、実際には特定のタブを選択するのに役立ちません。
ここで私はあなたのpublic void onPageSelected(int position)
セットアップに呼び出されます
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
public void onPageScrollStateChanged(int state) {}
public void onPageScrolled(int position, float positionOffset, int
positionOffsetPixels) {}
public void onPageSelected(int position) {
final String[] tabTitles={"Favorites", "Friends", "Nearby"};
tabLayout.setNextFocusRightId(position);
setTitle(tabTitles[position]);
}
});