如何根据 ViewPager2/TabView 中的 Fragment 更改 android 活动的标题

问题描述

我正在开发一个应用程序,当我滑动到下一个选项卡时,我想更改屏幕标题以匹配该选项卡!

解决方法

您可以在 registerOnPageChangeCallback 中使用 ViewPager2 来检测页面滑动。在 ViewPager2 的主机(例如主机活动)中实现此事件,并在调用 onPageSelected 时更改主机 Activity 的标题。在 onPageSelected 方法中,您可以获得 ViewPager2 的当前位置并根据位置设置您的标题。

viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
    @Override
    public void onPageScrolled(int position,float positionOffset,int positionOffsetPixels) {
        super.onPageScrolled(position,positionOffset,positionOffsetPixels);
    }

    @Override
    public void onPageSelected(int position) {
        super.onPageSelected(position);

        // Set title of Activity based on the position of Fragment
    }

    @Override
    public void onPageScrollStateChanged(int state) {
        super.onPageScrollStateChanged(state);
    }
});