Mainactivity类
public class MainActivity extends AppCompatActivity { ViewPager vp; /* Fragment1 f1; Fragment2 f2; Fragment3 f3;*/ List<Fragment> list ; RadioButton btn, btn2, btn3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vp = (ViewPager) findViewById(R.id.viewpager); btn = (RadioButton) findViewById(R.id.btn); btn2 = (RadioButton) findViewById(R.id.btn2); btn3 = (RadioButton) findViewById(R.id.btn3); list = new ArrayList<>(); list.add(new Fragment1()); list.add(new Fragment2()); list.add(new Fragment3()); ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager(),list); vp.setAdapter(adapter); vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } }); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { vp.setCurrentItem(0); } }); btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { vp.setCurrentItem(1); } }); btn3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { vp.setCurrentItem(2); } }); }
class ViewPagerAdapter extends FragmentPagerAdapter { public ViewPagerAdapter(FragmentManager fm, List<Fragment> list) { super(fm); } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); } } }这里强调的是
Fragment 方法 要
List<Fragment> list ;
在oncreate方法里
list = new ArrayList<>(); list.add(new Fragment1()); list.add(new Fragment2()); list.add(new Fragment3()); ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager(),list); vp.setAdapter(adapter);要这样new 与fragment new的方法不能相同
之前fragment 是这样new 的
Fragment f1 ;
fragment f2;
oncreate里面是这样的
initView();
这是外面的方法
private void initView() { f1 = new fragment1(); f2 = new fragment2(); f3 = new fragment3(); f4 = new fragment4(); }
Fragment类
public class Fragment3 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_fragment3,container,false); return view; } }
1433

被折叠的 条评论
为什么被折叠?



