我对 android 很陌生,这次我通过观看视频教程创建了一个 View 寻呼机选项卡式 Activity 。问题或需要是如果用户滑动像 tab1(显示第一个 fragment )、tab2(显示第二个 fragment )tab3(显示第三个 fragment )这样的位置,则显示 3 个不同的 fragment 现在它为所有选项卡显示一个且唯一的 fragment
这是我的适配器类,名为datafragment 包 com.example.jaison.news;
public class datafragment extends Fragment {
View view;
ViewPager viewPager;
TabLayout tabLayout;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view= inflater.inflate(R.layout.sample,container,false);
viewPager = (ViewPager) view.findViewById(R.id.viewpager);
viewPager.setAdapter(new sliderAdapter(getChildFragmentManager()));
tabLayout = (TabLayout) view.findViewById(R.id.sliding_tabs);
tabLayout.post(new Runnable() {
@Override
public void run() {
tabLayout.setupWithViewPager(viewPager);
}
});
return view;
}
private class sliderAdapter extends FragmentPagerAdapter{
final String tabs[]={"tab1", "tab2","tab3"};
public sliderAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
return fragment;
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
return tabs[position];
}
}
}
对于那些不明白我的观点的人,我所需要的就是实现类似这样的代码,但我对此不确定......
switch (position) {
case 0:
//showing first fragment
case 1:
//showing second fragment
case 2:
//showing third fragment
default:
return new Fragment();
}
最佳答案
像这样改变你的 getItem 方法
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
switch (position){
case 0:
fragment = new Tab1Fragment();
break;
case 1:
fragment = new Tab2Fragment();
break;
case 2:
fragment = new Tab3Fragment();
break;
}
return fragment;
}
关于java - 我想在 View 寻呼机、选项卡式 Activity Android 中显示 3 个不同选项卡的 3 个不同 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45365838/