두 가지 활동이 있습니다. 활동 A와 활동 BViewPager에서 현재 항목 설정> 0 두 조각의 인스턴스 만들기
활동 A는 -리스트 뷰를
활동 B를 가지고 - FragmentStatePagerAdapter
와 ViewPage을 가지고 때마다 목록보기의 모든 항목에 사용자가 클릭. 클릭 한 항목의 색인을 전달하는 활동 B가 시작됩니다. 액티비티 B에서는 뷰 페이지에서 어댑터를 설정하고 액티비티 A에서 클릭 한 항목의 인덱스를 currentItem으로 설정한다.
문제는 뷰 페이지가 처음으로 0 번째 항목에 대한 프래그먼트를 생성하고 그 이후에 목. 그 여분의 항목이 생성되기를 원하지 않습니다. 어떤 해결책? 코드의
부분 :
ViewPager vp = (ViewPager) findViewById(R.id.pager);
ViewPagerAdapter pagerAdapter = new ViewPagerAdapter(getSupportFragmentManager(), cursor);
vp.setAdapter(pagerAdapter);
vp.setCurrentItem(index);
private class ViewPagerAdapter extends FragmentStatePagerAdapter {
private Cursor cursor;
public ViewPagerAdapter(FragmentManager fragmentManager, Cursor cursor) {
super(fragmentManager);
this.cursor = cursor;
}
@Override
public Fragment getItem(int index) {
return new Fragment(index);
}
@Override
public int getCount() {
return cursor.getCount();
}
}
업데이트 : 나는 ViewPage 현재 조각의 왼쪽과 오른쪽을 생성 알고있다. 하지만 내 경우에는 setCurrentItem을 10으로 설정하면 9th 및 11th 외에도 0th가 생성됩니다. vp.setAdapter (pagerAdapter)를 호출 한 직후에 0 번째 항목이 생성되고 다음 줄에는 item 항목으로 이동할 때의 currentItem을 설정합니다. 문제는 스크롤하는 문제가 아닙니다. 문제는 그것이 0 번째를 만들어 내고 그것을 해결하는 방법입니다.
이 색인을 확인 적절한인지 –
지수는 적절한이다. 내 색인이 5면 5 번째 항목이 0이 아니라는 것을 알 수 있습니다.문제는 두 조각의 인스턴스를 모두 생성하는 것입니다. –
나는이 길을 건너 올 방법이 없다고 생각한다. 나는 대안이있다. 얼마나 많은 파편이 있습니까? –