java - 我想在 View 寻呼机、选项卡式 Activity Android 中显示 3 个不同选项卡的 3 个不同 fragment

标签 java android android-fragments android-viewpager android-tabbed-activity

我对 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/

相关文章:

java - SWT 文件夹 '..\framework\x86' 不存在。请设置 ANDROID_SWT 指向包含您平台的 swt.jar 的文件夹

android - 如何完成后退按钮上的倒计时

java - FragmentTransaction 替换保留旧 fragment

java - 写入打开终端的输入流

java - Centos mysql 连接器 java - JDBC 驱动程序

java - 使用spring配置jta事务管理器?

android - 移动设备上的程序化屏幕捕获

java - 如何使用 javax.mail 库将 byte[] 转换为消息

android - 将 Parcelable 对象从 fragment 传递到 Activity

Android: android.database.sqlite.SQLiteException: no such column: _id: 编译时:SELECT _id, category, summary, description, status FROM todo