52

ViewPagerの一部であるフラグメントに があるアプリを作成しようとしていTabHostます。すべてがうまくいきます。タブバーがあり、タブを切り替えることができます。でタブに切り替えるとViewPager、すべてが正しく表示されます。

ただし、このタブを離れてこのタブに戻るとすぐにViewPager、コンテンツが表示されません。横に 2 回スクロールすると次の画像が表示され、2 回戻ると画像が読み込まれていることもわかります (おそらくoffscreenloaded)。

TabFragmentがそれに戻ったときに私のものが再インスタンス化されていることを確認してくださいViewPager

@Override
public void onActivityCreated(Bundle savedInstanceState) {

    mProjectText = (TextView) getView().findViewById(R.id.projectText);
    mProjectText.setText(mActiveProject.getInspirationText());

    mAdapter = new AlbumAdapter(getFragmentManager(), mActiveProject.getInspiration());

    mPager = (ViewPager)getView().findViewById(R.id.pager);
    mPager.setAdapter(mAdapter);

    super.onActivityCreated(savedInstanceState);
}

public class AlbumAdapter extends FragmentStatePagerAdapter {

private ArrayList<ProjectContent> mItems;

public AlbumAdapter(FragmentManager fm, ArrayList<ProjectContent> items) {
    super(fm);
    this.mItems = items;
}

@Override
public Fragment getItem(int position) {
    return AlbumContentFragment.newInstance(mItems.get(position));
}

@Override
public int getCount() {
    return mItems.size();
}

@Override
public int getItemPosition(Object object) {
    return POSITION_NONE;
}}

アプリのモックアップ

4

3 に答える 3

49

私はこれを長い間探していましたが、最終的に解決策を見つけました.ページアダプタインスタンスFragmentPagerAdapterFragmentStatePagerAdapter 例に変更してください:

class PageAdapter extends FragmentStatePagerAdapter {
于 2015-05-05T10:41:39.823 に答える