안녕하세요.
오늘은 개발하다 알게된 사소한 것들을 블로깅 해봅니다.
ViewPager 를 한번만 로딩하고 싶을 때는 ViewPager에서 제공하는 setOffscreenPageLimit 라는 함수를 사용하면 됩니다.
ViewPager _viewPager = (ViewPager)findViewById(R.id.viewPager); _viewPager.setOffscreenPageLimit(3);예를 들면 3이라고 셋팅하면 페이지3개를 미리 로딩하겠다는 의미 입니다. 물론 Fragment 가 3개 있어야 겠죠? 그리고, Fragment 가 바뀔 때마다 ActionBar의 Item을 바꾸고 싶을 때가 있는데요. 저 같은 경우는 CustomActionBar 여서 고생을 좀 했습니다^^; Main FragmentActivity 에서 바꿀려다 보니 죽어라 해도 안바뀌더군요. viewpager의 getCurrentItem. 이 함수에 엄청 속았는데요. 현재 item을 가져오질 않아요 ㅠㅠ 여러 페이지가 있을 경우 지 멋대로 더군요. 그래서 선택한 것이 Fragment를 상속받은 class 의 onCreateView 에서
setHasOptionMenus(true);이렇게 설정하시고 onCreateOptionsMenu 를 오버라이드 합니다. 그리고 여기서 보여주고싶은 item을 visibility를 VISIBLE로 설정합니다. Fragment의 경우 FragmentActivity 가 Parent 인데, 아래와 같이 사용해서 FragmentActivity를 상속받는 클래스를 받아옵니다.
ParentFragmentActivity activity = (ParentFragmentActivity)getActivity();이런식으로 받아오는 것이죠. 이상입니다.
'안드로이드 > Component' 카테고리의 다른 글
ConstraintLayout -2 체인 (0) | 2017.06.20 |
---|---|
Constraint Layout -1 (0) | 2017.06.19 |
ListView Background Selector (0) | 2015.03.20 |
ScrollView 안에 삽입된 ListView 또는 ExpandableListView의 Height이 조절되지 않는 현상 (0) | 2014.09.05 |
EditText 글자수 제한 (0) | 2014.07.17 |