Ändern Sie das Fragment mit ViewPager

ich benutzePagerSlidingTab Bibliothek fürViewPager. Und ich möchte Fragment beim Scrollen von Registerkarten ändern. Es funktioniert gut. Schau dir meinen Code an.

ich benutzeAsynTask() auf jederFragment.
Wenn die App mit der Hauptaktivität geöffnet wird, wird das erste Fragment an die Aktivität angehängt. Es werden jedoch zwei angezeigtAsynTask() Dialogmeldung, eine von der Ersten und eine von der ZweitenFragment. Und wenn ich zur zweiten Registerkarte scrolle, wird die Dialogmeldung von Third angezeigtFragment.

Wenn ich also in Registerkarten von links nach rechts scrolle, wird dieFragment rechts zum aktuellen fragment wird angezeigt und wenn ich von rechts nach links scrolle, dieFragment Links zum StromFragment wird angezeigt.

Bitte helfen Sie mir, das Problem zu lösen.

Mein Code:

public class PageSlidingTabStripFragment extends Fragment {

    public static final String TAG = PageSlidingTabStripFragment.class
            .getSimpleName();

    public static PageSlidingTabStripFragment newInstance() {
        return new PageSlidingTabStripFragment();
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRetainInstance(true);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return inflater.inflate(R.layout.pager, container, false);
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) view
                .findViewById(R.id.tabs);
        ViewPager pager = (ViewPager) view.findViewById(R.id.pager);

        MyPagerAdapter adapter = new MyPagerAdapter(getChildFragmentManager());

        pager.setAdapter(adapter);
        tabs.setViewPager(pager);
    }

    public class MyPagerAdapter extends FragmentPagerAdapter {

        public MyPagerAdapter(android.support.v4.app.FragmentManager fm) {
            super(fm);
        }

        private final String[] TITLES = { "Instant Opportunity", "Events",
                "Experts" };

        @Override
        public CharSequence getPageTitle(int position) {
            return TITLES[position];
        }

        @Override
        public int getCount() {
            return TITLES.length;
        }

        @Override
        public Fragment getItem(int position) {
            switch (position) {
            case 0:
                return new InstantOpportunity();
            case 1:
                return new Events();
            case 2:
                return new Experts();
            default:
                break;
            }

            return null;
        }
    }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage