如何在viewpager中添加片段

时间:2014-08-15 05:58:40

标签: android android-fragments android-viewpager

我创建了一个活动,当我启动一个实现viewpager的活动时,viewpager创建了各种片段。我想为每个片段使用不同的布局,但问题是片段没有显示在viewpager中。

DataActivity.java

public class DataActivity extends FragmentActivity {

    protected void onCreate(Bundle savedInstanceState) {

        ViewPager myViewPager;
        MyPagerAdapter myPagerAdapter;


        super.onCreate(savedInstanceState);
        setContentView(R.layout.data_activity);
        myViewPager = (ViewPager) findViewById(R.id.viewpager);
        mytPagerAdapter = new MyPagerAdapter(getSupportFragmentManager());
        myViewPager.setAdapter(myPagerAdapter);
}

     private class MyPagerAdapter extends FragmentPagerAdapter{

         int numberOfPages = 5;
         public MyPagerAdapter(FragmentManager fm)   {
                super(fm);
            }

            @Override
            public android.support.v4.app.Fragment getItem(int index) {

                return DataFirstFragment.newInstance();
            }

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

DataFirstFragment 未显示在viewpager

任何人都可以帮助我......!

2 个答案:

答案 0 :(得分:0)

我找到了上述问题的解决方案,只有重复这个

return DataFirstFragment.newInstance();

使用:

return new DataFirstFragment();

答案 1 :(得分:0)

在下面的代码中,我看不到在哪里添加片段到适配器? ?

private class MyPagerAdapter extends FragmentPagerAdapter{

         int numberOfPages = 5;
         public MyPagerAdapter(FragmentManager fm)   {
                super(fm);
            }

            @Override
            public android.support.v4.app.Fragment getItem(int index) {

                return DataFirstFragment.newInstance();
            }

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

viewPager要求adaptor获取项目时,它没有任何内容。