ViewPager左右滑动Fragment

来源:互联网 发布:mac 翻墙 免费 知乎 编辑:程序博客网 时间:2024/05/16 15:27
package com.example.myapplication;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.widget.RadioButton;import android.widget.RadioGroup;import com.example.sharedpreferences.R;import java.util.ArrayList;public class MainActivity extends AppCompatActivity {    private RadioGroup rg;    private RadioButton [] rb;    private FragmentManager fm;    private ArrayList<Fragment> mList;    private ViewPager vp;    private MyAdapter mAdapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        fm = getSupportFragmentManager();        vp = (ViewPager) findViewById(R.id.vp);        rg = (RadioGroup) findViewById(R.id.radiogroup);        rb = new RadioButton[rg.getChildCount()];        for (int i = 0; i < rb.length; i++) {            rb[i] = (RadioButton) rg.getChildAt(i);        }        mList = new ArrayList<>();        mList.add(new BlankFragment_1());        mList.add(new BlankFragment_2());        mList.add(new BlankFragment_3());        mList.add(new BlankFragment_4());        mAdapter = new MyAdapter(fm,mList);        vp.setAdapter(mAdapter);        vp.setCurrentItem(0);//让viewpager显示第几个Fragment        rb[0].setChecked(true);        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {            @Override            public void onCheckedChanged(RadioGroup group, int checkedId) {                for (int i = 0; i < rb.length; i++) {                    if(rb[i].getId()==checkedId) {                        vp.setCurrentItem(i,false);                        break;                    }                }            }        });        vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {            @Override            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {            }            @Override            public void onPageSelected(int position) {                rb[position].setChecked(true);            }            @Override            public void onPageScrollStateChanged(int state) {            }        });    }}
阅读全文
0 0