ViewPager

안드로이드 2014. 5. 15. 16:40
ViewPager

	    android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
layout XML 파일에 위와 같이 선언을 해 놓는다.
public class ViewPagerClass extends FragmentActivity implements ActionBar.TabListener {

private ViewPager _viewpager;
private AppSectionsPagerAdapter _pagerAdapter;

protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.main_viewpager);
	
	_pagerAdapter = new AppSectionsPagerAdapter(getSupportFragmentManager());
	
	final ActionBar actionbar = getActionBar();
	actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
		
	_viewpager = (ViewPager)findViewById(R.id.pager);
	_viewpager.setAdapter(_pagerAdapter);
	_viewpager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener(){
		@Override
		public void onPageSelected(int position) {
			actionbar.setSelectedNavigationItem(position);
		}		
	});
		
	for (int i = 0; i < _pagerAdapter.getCount(); i++) {
                 actionbar.addTab(
            	      actionbar.newTab()
                     .setText(_pagerAdapter.getPageTitle(i))
                     .setTabListener(this));
        }
}

public static class AppSectionsPagerAdapter extends FragmentPagerAdapter {

        public AppSectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int i) {
            switch (i) {
                case 0:
                    return new OneFragment();
                case 1:
                	return new TwoFragment();
                case 2:
                	return new ThreeFragment();
                default:
                	return null;
            }
        }

        @Override
        public int getCount() {
            return 3;
        }

        @Override
        public CharSequence getPageTitle(int position) {
        	
        	String title = "";
        	
        	switch(position)
        	{
        		case 0:
        			title = "첫번째타이틀";
        			return title;
        		case 1:
        			title = "두번째타이틀";
        			return title;
        		case 2:
        			title = "세번째타이틀";
        			return title;
        		default:
        			return title;
        	}        	
        }
    }

	@Override
	public void onTabSelected(Tab tab, FragmentTransaction ft) {
		_viewpager.setCurrentItem(tab.getPosition());
	}

	@Override
	public void onTabUnselected(Tab tab, FragmentTransaction ft) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void onTabReselected(Tab tab, FragmentTransaction ft) {
		// TODO Auto-generated method stub
		
	}
}

'안드로이드' 카테고리의 다른 글

InputStream > Byte Array  (0) 2014.07.17
Bitmap Round  (0) 2014.06.05
DrawerLayout  (0) 2014.05.15
TableRow를 동적으로 만들기  (0) 2014.04.23
안드로이드 Asset 의 파일 가져오기  (0) 2014.02.20
Posted by 자바리즘
,