2

这是我关于在 6 个片段之间滑动的代码,我想做一个事件,当我从一个片段滑动到另一个片段时从互联网加载一些东西,所以请帮助我如何做到这一点???,以及在哪里我可以放代码吗,我考虑一下进度对话框在函数获取标题处启动它并在片段开头取消它是否适用?这是我的代码:

             package com.example.my_finalswipe;
                 import java.util.List;
                 import java.util.Locale;
            import java.util.Vector;
            import android.os.Bundle;
            import android.support.v4.app.Fragment;
            import android.support.v4.app.FragmentActivity;
            import android.support.v4.app.FragmentManager;
            import android.support.v4.app.FragmentPagerAdapter;
            import android.support.v4.view.ViewPager;
            import android.view.LayoutInflater;
            import android.view.View;
            import android.view.ViewGroup;

             public class MainActivity extends FragmentActivity {


            SectionsPagerAdapter mSectionsPagerAdapter;


            ViewPager mViewPager;
            List<Fragment> fragments ;

            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);

                // Create the adapter that will return a fragment for each of the three
                // primary sections of the app.
               fragments = new Vector<Fragment>();

                        fragments.add(Fragment.instantiate(this, FragmentOne.class.getName()));
                        fragments.add(Fragment.instantiate(this, FragmentTwo.class.getName()));
                        fragments.add(Fragment.instantiate(this, FragmentThree.class.getName()));
                        fragments.add(Fragment.instantiate(this, FragmentFour.class.getName()));
                        fragments.add(Fragment.instantiate(this, FragmentFive.class.getName()));
                        fragments.add(Fragment.instantiate(this, FragmentSix.class.getName()));

            mSectionsPagerAdapter=new SectionsPagerAdapter(super.getSupportFragmentManager());

                // Set up the ViewPager with the sections adapter.
                mViewPager = (ViewPager) findViewById(R.id.pager);
                mViewPager.setAdapter(mSectionsPagerAdapter);

            //





            }





            public class SectionsPagerAdapter extends FragmentPagerAdapter {

                public SectionsPagerAdapter(FragmentManager fm) {

                    super(fm);
                }

                        @Override
                        public Fragment getItem(int position) {
                             int _pos = position % 6;
                             return fragments.get(_pos);

                        }

                @Override
                public int getCount() {
                    // Show 3 total pages.
                    return 6;
                }

                @Override
                public CharSequence getPageTitle(int position) {
                    final String title_section4="Section4";
                    final String title_section5="Section5";
                    final String title_section6="Section6";
                    final String title_section1="Section1";
                    final String title_section2="Section2";
                    final String title_section3="Section3";

                    Locale l = Locale.getDefault();
                    switch (position) {


                    case 0:
                        return title_section1.toUpperCase(l);

                    case 1:
                        return title_section2.toUpperCase(l);

                    case 2:
                        return title_section3.toUpperCase(l);

                    case 3:
                        return title_section4.toUpperCase(l);
                    case 4:
                        return title_section5.toUpperCase(l);
                    case 5:
                        return title_section6.toUpperCase(l);

                    }
                    return null;
                }
            }


            public static class FragmentOne extends Fragment {

                public static final String ARG_SECTION_NUMBER = "section_number";

                public FragmentOne() {
                }

                @Override
                public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
                    View rootView = inflater.inflate(R.layout.one, container, false);

                    return rootView;
                }
            }


            public static class FragmentTwo extends Fragment {

                public static final String ARG_SECTION_NUMBER = "section_number";

                public FragmentTwo() {
                }

                @Override
                public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
                    View rootView = inflater.inflate(R.layout.two, container, false);

                    return rootView;
                }
            }


            public static class FragmentThree extends Fragment {
                public static final String ARG_SECTION_NUMBER = "section_number";

                public FragmentThree() {
                }

                @Override
                public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
                    View rootView = inflater.inflate(R.layout.three, container, false);

                    return rootView;
                }
            }



            public static class FragmentFour extends Fragment {

                public static final String ARG_SECTION_NUMBER = "section_number";

                public FragmentFour() {
                }

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



            public static class FragmentFive extends Fragment {

                public static final String ARG_SECTION_NUMBER = "section_number";

                public FragmentFive() {
                }

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


            public static class FragmentSix extends Fragment {

                public static final String ARG_SECTION_NUMBER = "section_number";

                public FragmentSix() {
                }

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

2 回答 2

6

使用您的视图寻呼机的ViewPager.OnPageChangeListener 来检测滑动或实现自定义视图寻呼机看到这个

添加这个

mViewPager.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageSelected(int arg0) {
            // TODO Auto-generated method stub

            //DO THINGS HERE

        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onPageScrollStateChanged(int arg0) {
            // TODO Auto-generated method stub

        }
    });
于 2013-07-24T11:58:46.053 回答
0

现在替换为

addOnPageChangeListener

于 2015-11-09T05:51:48.023 回答