Android工具栏字幕取决于所选标签

时间:2016-07-02 14:53:23

标签: android android-fragments android-viewpager android-toolbar android-tablayout

我在这个问题上粉碎了我的头脑。

我的应用在工具栏下方有一个导航抽屉和导航标签。 我想在工具栏中显示一个字幕,只有当它位于确定的标签中时(假设是第二个)。

我已经实现了扩展FragmentPagerAdapter的TabPageAdapter。 然后我编写了代码,所以如果我从左侧导航抽屉中选择一个标签,我只能在第二个标签中显示副标题并将其隐藏在其他标签中。

My Navigation Drawer

问题是我无法通过直接从导航标签中选择标签来显示/隐藏字幕。 事实上,即使使用

((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle(null);

String subtitle = //my subtitle;
((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle(subtitle);

在每个标签的片段中,整个代码不起作用。 我认为问题在于FragmentPagerAdapter(和FragmentStatePagerAdapter):他们的

@Override
public Fragment getItem(int position);

方法也将其他两个标签保留在内存中。

我的 getItem(int position)方法是这样的:

@Override
public Fragment getItem(int position) {

    Fragment fragment;

    switch (position) {

        case MAP_POSITION:
            fragment = MapFragment.newInstance(MAP_TYPE);
            return fragment;

        case PETROL_POSITION:
            fragment = PetrolStationListFragment.newInstance(position);
            return fragment;

        case FAV_POSITION:
            return new FavouritesFragment();
    }

    return null;
}

任何提示?

0 个答案:

没有答案