ViewPager에서 프래그먼트를 사용하는 많은 애플리케이션을 알고 있습니다. 내 신청서에도 필요합니다. 나는 그것을 할 수있는 방법을 찾을 가이드가 없다. this. 그리고 내 코드는 다음과 같습니다.ViewPager에서 조각을 올바르게 사용하는 방법은 무엇입니까?
public class MainActivity extends FragmentActivity {
Vector<Fragment> fragments;
ViewPager viewPager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
viewPager = (ViewPager) findViewById(R.id.pager);
fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this, Fragment1.class.getName()));
fragments.add(Fragment.instantiate(this, Fragment2.class.getName()));
viewPager.setOffscreenPageLimit(fragments.size());
PagerAdapter pagerAdapter = new PagerAdapter(super.getSupportFragmentManager(), fragments);
viewPager.setAdapter(pagerAdapter);
viewPager.setCurrentItem(0);
}
class PagerAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
public PagerAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}
@Override
public int getCount() {
return this.fragments.size();
}
}
}
그러나이 코드는 제대로 작동하지 않습니다. 때로는 getActivity()가 null을 반환하는 것에 대해 Fragment1에서 오류가 발생합니다. 나는이 사이트 및이 오류에 대한 다른 많은 게시물을 읽고 지금은 나쁜 방법입니다 - 조각을 저장하기 위해 벡터를 사용합니다. 그러나 여전히 잘 모르겠다. ViewPager를 조각으로 적절하게 사용하는 방법. 도와주세요.
'ViewPager'를 보여주는 샘플 응용 프로그램의 95 %가 'ViewPager'에서 조각을 사용하여 시연하므로, * 구체적으로 * 당신을 혼란스럽게합니까? – CommonsWare
아마도 클래스의 이름을 바꾸어야합니다. 이미 Android에 PagerAdapter 클래스가 있습니다. – Matthieu
그리고 ViewPager의 Fragments에 대한 자습서가 많이 있습니다. http://tamsler.blogspot.com/2011/10/android-viewpager --and-fragments.html, http://thepseudocoder.wordpress.com/2011/10/05/android-page-swiping-using-viewpager/, http://alchemiasoft.wordpress.com/2012/02/15/ ~ with-a-viewpager/...- – Matthieu