我为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);