0
FragmentStatePagerAdapter
을 사용하고 있습니다. getItem(int position)
은 잘못된 위치를 반환합니다. 나는 5 조각이있다.FragmentStatePagerAdapter가 getItem에서 잘못된 위치를 반환합니다.
Fragment0 -> Fragment1: position = 2
Fragment1 -> Fragment2: position = 3
Fragment2 -> Fragment3: position = 4
Fragment3 -> Fragment4: getItem is not called!
Fragment4 -> Fragment3: position = 2
Fragment3 -> Fragment2: position = 1
Fragment2 -> Fragment1: position = 0
Fragment1 -> Fragment0: getItem is not called!
내 어댑터에 대한 코드입니다 :
import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
public class AppFragmentPageAdapter extends FragmentStatePagerAdapter {
final int PAGE_COUNT = 5;
private String tabTitles[] = new String[] { "اخبار", "حقیقتسنج", "ویدیوها", "زندگینامه", "برنامهها" };
private Context context;
public AppFragmentPageAdapter(FragmentManager fm, Context context) {
super(fm);
this.context = context;
}
@Override
public int getCount() {
return PAGE_COUNT;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case (0):
return NewsFragment.newInstance(position);
default:
return VideosFragment.newInstance(position);
}
}
@Override
public CharSequence getPageTitle(int position) {
return tabTitles[position];
}
}
'Fragment0 -> Fragment1 : position = 2'이 무슨 뜻인지 이해할 수 없습니다. 이 출력은 logcat에 있습니까? 그렇다면이 출력물을 만드는 코드를 보여주고 다른 것으로 예상되는 것을 설명하십시오. –
표시된 코드는 두 조각을 만듭니다. 당신이 묻고있는 전반적인 개념을 여전히 보여줄 수있는 한 괜찮습니다. –