[android] ViewPager في TabFragment لا يتم تحميل مرة ثانية



0 Answers

لقد تم البحث عن هذا لوقت طويل وجدت حلا. تغيير الصفحة الخاصة بك محول الصفحة FragmentPagerAdapter إلى FragmentStatePagerAdapter سبيل المثال:

class PageAdapter extends FragmentStatePagerAdapter {
Question

أحاول إنشاء تطبيق يحتوي على ViewPager في جزء يمثل جزءًا من TabHost.

كل شيء يعمل بشكل جيد. لدي tabbar ، يمكنني تبديل علامات التبويب. عندما أنتقل إلى علامة التبويب مع ViewPager ، يتم عرض كل شيء بشكل صحيح. ولكن بمجرد ترك علامة التبويب هذه مع ViewPager وإرجاع علامة التبويب هذه ، لا يتم عرض المحتوى الخاص بي. إذا قمت بالتمرير إلى الجانب مرتين ، أرى صورتي التالية. وإذا كنت أعود مرتين ، فإني أرى أيضًا أن الصور محملة (ربما تكون خارج نطاق الشاشة) ، وأنظر إلى أن 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;
}}




Related