用于自定义对话框的类
public 类 ViewPagerInDialog {private final ActionBarActivity context;
private AlertDialog.Builder builder;
private int currentLv = 1;
private static final int NUM_PAGES = 5;
private PagerAdapter pagerAdapter;
private ViewPager pager;
public ViewPagerInDialog(ActionBarActivity context){
this.context = context;
}
public void show(){
builder = new AlertDialog.Builder(context);
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.level_dialog, null, false);
pager = (ViewPager) view.findViewById(R.id.pager);
pagerAdapter = new ScreenSlidePagerAdapter(context.getSupportFragmentManager());
pager.setAdapter(pagerAdapter);
pager.setCurrentItem(currentLv - 1);
builder.setView(view);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog a = builder.create();
a.show();
}
private 类ScreenSlidePagerAdapter扩展 FragmentStatePagerAdapter {private Fragment currentFragment;
public Fragment getCurrentFragment() {
return currentFragment;
}
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return new LevelFragment();
}
@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
if (getCurrentFragment()!= object) {
currentFragment = ((Fragment) object);
}
super.setPrimaryItem(container, position, object);
}
@Override
public int getCount() {
return NUM_PAGES;
}
} }