import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import java.util.ArrayList;
public class MainActivity extends FragmentActivity {
private ViewPager vp;
private RadioGroup rg;
private ArrayList<Fragment> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp = (ViewPager) findViewById(R.id.vp);
rg = (RadioGroup) findViewById(R.id.rg);
vp.setOffscreenPageLimit(3);必填!!!!! final ArrayList<Fragment> list = new ArrayList<>();WeatherFragment weatherFragment = new WeatherFragment();
LvshiFragment lvshiFragment = new LvshiFragment();
list.add(weatherFragment);
list.add(lvshiFragment);
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
for (int i = 0;i<rg.getChildCount();i++){
RadioButton radioButton = (RadioButton) rg.getChildAt(i);
if (radioButton.isChecked()){
vp.setCurrentItem(i);
}
}
}
});
vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
RadioButton radioButton = (RadioButton) rg.getChildAt(position);
for (int i = 0; i<list.size();i++){
if (position==i){
radioButton.setChecked(true);
}
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
vp.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
});
}
}