content: package com.android.caij.xutilsdemo;
  
  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.support.v4.view.ViewPager.OnPageChangeListener;
  import android.widget.RadioButton;
  import android.widget.RadioGroup;
  
  import com.android.caij.xutilsdemo.fragment.BitMapFragment;
  import com.android.caij.xutilsdemo.fragment.DbFragment;
  import com.android.caij.xutilsdemo.fragment.DownFragment;
  import com.android.caij.xutilsdemo.fragment.HttpFragment;
  import com.lidroid.xutils.ViewUtils;
  import com.lidroid.xutils.view.annotation.ContentView;
  import com.lidroid.xutils.view.annotation.ViewInject;
  import com.lidroid.xutils.view.annotation.event.OnRadioGroupCheckedChange;
  
  @ContentView(R.layout.activity_main)
  public class MainActivity extends FragmentActivity {
  
  	private final static Fragment[] FRAGMENTS = { new DbFragment(),
  			new HttpFragment(), new DownFragment(), new BitMapFragment() };
  
  	@ViewInject(R.id.main_vp_container)
  	private ViewPager mViewPager;
  	@ViewInject(R.id.main_rg_tab)
  	private RadioGroup mRadioGroup;
  
  	@Override
  	protected void onCreate(Bundle savedInstanceState) {
  		super.onCreate(savedInstanceState);
  		ViewUtils.inject(this); //注入view和事件
  		mViewPager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager()));
  		mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
  			
  			@Override
  			public void onPageSelected(int arg0) {
  				((RadioButton)mRadioGroup.getChildAt(arg0)).setChecked(true);
  			}
  			
  			@Override
  			public void onPageScrolled(int arg0, float arg1, int arg2) {
  				
  			}
  			
  			@Override
  			public void onPageScrollStateChanged(int arg0) {
  				
  			}
  		});
  	}
  	
  	private class ViewPagerAdapter extends FragmentPagerAdapter {
  
  		public ViewPagerAdapter(FragmentManager fm) {
  			super(fm);
  		}
  
  		@Override
  		public Fragment getItem(int position) {
  			return FRAGMENTS[position];
  		}
  
  		@Override
  		public int getCount() {
  			return 4;
  		}
  
  	}
  
  	@OnRadioGroupCheckedChange(R.id.main_rg_tab)
  	public void onCheckedChanged(RadioGroup group, int checkedId) {
  		switch (checkedId) {
  		case R.id.main_rb_db:
  			mViewPager.setCurrentItem(0);
  			break;
  
  		case R.id.main_rb_http:
  			mViewPager.setCurrentItem(1);
  			break;
  
  		case R.id.main_rb_down:
  			mViewPager.setCurrentItem(2);
  			break;
  			
  		case R.id.main_rb_bitmap:
  			mViewPager.setCurrentItem(3);
  			break;
  
  		default:
  			break;
  		}
  	}
  }
  