안녕하세요.
제가 뷰페이저로 한 페이지를 만들었는데, 구조 관련해서 최대한 해석을 해보았는데..
이게 맞는건가 십기도 하고 .. 좀 더 자세하게 구조를 알고 싶기도 하고 ..
해서 제가 분석한것과 고수님들이 분석한것을 비교해보고 공부해보고 싶습니다.
아무래도 제가 많이 모르다보기에.. 분석하는데도 조금 힘드네요 ㅠ
제가 나름대로 분석해본 것을 아래에 써보겠습니다. 고수님들께서 보시기에 잘못된부분이 있다면
한번 바로잡아주시면 감사드리겠습니다.
대략적인 구성은, 뷰페이저에 5개의 이미지와 5개의 제목, 5개의 여론조사율이 어레이리스트에 저장되어
있으며, 오른쪽으로 페이지를 넘길수록, 첫페이지에는 첫 이미지, 첫 제목, 첫 여론조사율, 두번째 페이지에는
두번째 이미지, 두번째 제목, 두번째 여론조사율 ... 식으로 5번째 까지 구성이 되어 있습니다.
소스의 부분은 제 글의 아래의 답변 부분에 이어서 달아보겠습니다.
** 제가 분석한 내용 **
5개의 이미지가 자리하고 있는 액티비티이고, 각 이미지들을 수첩 형식으로 옆으로 넘어가면서
볼수 있게 해주는 적합한 기능인 뷰페이저를 사용을 했다. 뷰페이저를 사용한 이유는 마치 page를 넘기듯이
손가락으로 드래그해서 좌우로 넘겨가면서 보는데 적합한 기능을 하고, View들을 Page를 넘기듯 보여주는
AdapterView의 일종이다.
여기서는 어레이 리스트를 사용해서, 이미지와 제목, 여론조사율로 구성이 되어있고, 이미지같은 경우에는
integer이라는 정수값을 줘서 총 5개의 이미지에 대한 번호가 어레이리스트에 순차적으로 저장이 되어 있고
그 아래의 제목같은 경우는 5개의 제목과 5개의 여론조사율을 String 형식의 어레이리스트에 각각 저장이 되
도록 만들었습니다.
그리고 SectionPagerAdapter이라고 해서 , 뷰페이저에서 각각의 페이지(Fragment)를 하나씩 만들어주고
그렇게 프래그넌트를 만들때, PlaceholderFragment를 만들어서 뷰페이저에게 준다. 그러면 뷰페이저는
placeHolderFragment를 하나씩 보여주게 되며 fragment_sub2.xml은 PlaceHolderFragment가 화면을 만들떄
쓰임. static String ARG_SECTION_NUMBER = "section_number"; 같은 경우에는 키값으로 사용함으로써,
사용 목적에 대해서는 public Fragment getItem(int position) 메소드에서 Bundle 생성시 키 값으로 사용하려
고 한 것 입니다. 그래서 onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState)
해당하는화면 포지션을 가져올 때 사용합니다.
final int position = getArguments().getInt(ARG_SECTION_NUMBER);