Fragment 를 사용 하여 구현 되 는 슬라이딩 구성 요소 ViewPager
어댑터 Fragment PagerAdapter 의 실현
주 활동 실현
1 어댑터 Fragment PagerAdapter 의 실현
Fragment PagerAdapter 의 파생 클래스 에 대해 서 는 getItem(int)과 getCount()를 다시 쓰 면 됩 니 다.
public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
    private List<Fragment> list;  
    public MyFragmentPagerAdapter(FragmentManager fm, List<Fragment> list) {  
        super(fm);  
        this.list = list;
    }
    //         View    
    @Override  
    public int getCount() {  
        return list.size();  
    }  
    // getItem(int arg0) ,       arg0,         fragment
    @Override  
    public Fragment getItem(int arg0) {  
        return list.get(arg0);  
    }
}2.두 개의 Fragment 류
OrderFragment.java
public class OrderFragment extends Fragment {
    // onCreateView()       View
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View view= inflater.inflate(R.layout.fragment_order, container, false);
        //View        
        refresh = view.findViewById(R.id.order_count_refresh);
        refresh.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //    
                countStatus();
            }
        });
        return view;
    }
}fragment_order.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff" android:orientation="vertical" >
    <Button android:id="@+id/fragment1_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="show toast" />
</LinearLayout>MeFragment.java
public class MeFragment extends Fragment {
    // onCreateView()       View
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View view= inflater.inflate(R.layout.fragment_me, container, false);
        //View        
        login = view.findViewById(R.id.me_login);
        login.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(MeFragment.this.getActivity(),
                        LoginActivity.class));
            }
        });
        return view;
    }
}fragment_me.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffff00" android:orientation="vertical" >
</LinearLayout>3 주 activity 실현
public class MainActivity extends FragmentActivity {
    private ViewPager mPager;
    private List<Fragment> fragmentList;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mPager = (ViewPager) findViewById(R.id.viewpager);
        //   fragment
        List<Fragment> fragmentList=new ArrayList<Fragment>();
        fragmentList.add(new OrderFragment());
        fragmentList.add(new MeFragment());
        FragAdapter adapter = new FragAdapter(getSupportFragmentManager(), fragments);
        // ViewPager     
        mPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentList));
        mPager.setCurrentItem(0);//              
        //MyOnPageChangeListener()        
        mPager.setOnPageChangeListener(new MyOnPageChangeListener());
        radioGroup = (RadioGroup) findViewById(R.id.main_tab);
        // radioGroup     
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                if(checkedId == R.id.tab_me){
                    mPager.setCurrentItem(INDEX_ME);
                }else if(checkedId == R.id.tab_shoujian){
                    mPager.setCurrentItem(INDEX_SHOUJIAN);
                }
            }
        });
    }
    //         OnPageChangeListener
    public class MyOnPageChangeListener implements OnPageChangeListener {
        @Override
        //               ,        ,          。
        /** * arg0:    ,          * arg1:           *arg2:            */
        public void onPageScrolled(int arg0, float arg1, int arg2) {
            // TODO Auto-generated method stub
        }
        @Override 
        //            
          /** * arg0 * 1:       * 2:       * 0:       ,      */  
        public void onPageScrollStateChanged(int arg0) {
            // TODO Auto-generated method stub
        }
        @Override
        //           
        /** * arg0             Position(    )。 */  
        public void onPageSelected(int arg0) {
            // TODO Auto-generated method stub
            switch (arg0) {
            case INDEX_ME:
                radioGroup.check(R.id.tab_me);
                break;
            case INDEX_SHOUJIAN:
                radioGroup.check(R.id.tab_shoujian);
                break;
            }
        }
    }
}activity_main.xml
<?xml version="1.0" encoding="utf-8"?>  
  <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">  
  <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_alignParentTop="true" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_gravity="center" android:layout_marginBottom="60dip" android:flipInterval="30" android:persistentDrawingCache="animation"/> 
    <RadioGroup android:id="@+id/main_tab" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_alignParentBottom="true" android:layout_height="60dip">  
        <RadioButton  style="@style/main_tab" android:id="@+id/tab_shoujian" <!--        -->
            android:drawableTop="@drawable/tab_shoujian_selector"
            android:layout_height="match_parent"
            android:checked="true" 
            android:text="****" /> 
        <RadioButton  style="@style/main_tab" android:id="@+id/tab_me" android:drawableTop="@drawable/tab_me_selector" android:layout_height="match_parent" android:text="*" />  
    </RadioGroup>  
</RelativeLayout> 이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.