タブレイアウトの入れ子構造にしたいのですが、どうしても2つ目のタブ移行にページが表示されなく困っております。
実現したい事は親タブにA,Bとありそれぞれのタブに1,2,3とタブがあります。
ここまでは表示出来ています。
そしてその子タブ1,2,3には共通のレイアウトを呼出しフラグメントで切り替えるようにしたいのです。
現在の問題はAタブには子タブ1,2,3それぞれにページが表示されています。
しかし、Bタブには子タブ1,2,3は表示されるもののページが表示されません。
[PageAdapter]
public class PageAdapter extends FragmentPagerAdapter { @Override public Fragment getItem(int position) { PageFragment frPage = new PageFragment(); frPage.setPosition(position); return frPage; } }
[PageFragment]
public class PageFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fr_page, container, false); ViewPager mPager = (ViewPager) view.findViewById(R.id.nestViewpager); mPager.setAdapter(new NestPageAdapter(getFragmentManager(),mContext, position)); TabLayout tabLayout = (TabLayout) view.findViewById(R.id.nestTabs); tabLayout.setupWithViewPager(mPager); return view; } }
[NestPageAdapter]
public class NestPageAdapter extends FragmentPagerAdapter { @Override public Fragment getItem(int position) { NestPageFragment frPage = new NestPageFragment(); frPage.setPostion(position); return frPage; } }
[NestPageFragment]
public class NestPageFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fr_nestpage, container, false); return view } }
[TabActivity]
Public class TabActivity extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tabactivity); ViewPager mPager = (ViewPager) findViewById(R.id.viewpager); mPager.setAdapter(new PageAdapter(getSupportFragmentManager(),TabActivity.this); TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); tabLayout.setupWithViewPager(mPager); } }
コードは上記のように書いています。
実際は多くの処理を書いておりますが、表示に掛かると思われる部分を抜粋しました。
何故、タブBには表示がされないのでしょうか?
何卒、ご教授お願い致します。
回答2件
あなたの回答
tips
プレビュー