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にありますか?もしそうなら、この出力を作成するコードを表示して、異なると思われるものを説明してください。 –
表示されているコードは、2つのフラグメントのみを作成します。あなたが依頼している全体的な概念をまだ説明できる限り、これは問題ありません。 –