如何将标签添加到ViewPager片段?

时间:2018-07-27 10:54:21

标签: android android-fragments android-viewpager

我为ViewPager适配器设置了选项卡布局,以指示页面。我的问题是我想在ViewPager内的这些片段中添加标签,以便我可以像这样访问它们的页面

AccountFragment accountFragment = (AccountFragment)getChildFragmentManager().findFragmentByTag();
        if (accountFragment != null) {
            accountFragment.notAuthenticatedView.setVisibility(View.GONE);
            accountFragment.nestedScrollView.setVisibility(View.VISIBLE);
        } 

如您所见,我无法访问ViewPager片段中的视图,因为我无法在这些片段上放置标签。

无论如何,这是我的适配器

public class ViewPagerAdapter extends FragmentPagerAdapter{

    private ViewPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int i) {
        switch (i){
            case 0:
                return AccountFragment.create();
            case 1:
                return OrdersFragment.create();
        }

        return null;
    }

    @Override
    public int getCount() {
        return 2;
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        String title = null;

        switch (position){
            case 0:
                title = "Account";
                return title;
            case 1:
                title = "Orders";
                return title;
        }

        return null;
    }

}
  

更新

我添加了

public OrdersFragment ordersFragment;
public AccountFragment accountFragment;

然后将我的ViewPagerAdapter getItem()更改为

@Override
    public Fragment getItem(int i) {
        switch (i){
            case 0:
                accountFragment = new AccountFragment();
            case 1:
                ordersFragment = new OrdersFragment();
        }

        return null;
    }

但是当我尝试访问子片段视图时,它仍然返回null

accountFragment.notAuthenticatedView.setVisibility(View.GONE);
accountFragment.nestedScrollView.setVisibility(View.VISIBLE);

0 个答案:

没有答案