안녕하세요. 뷰페이저로 화면이 이동되는 어플을 만들고 있습니다.
문제는 제가 화면이 이동되는 페이지가 한 두 페이지가 아니라 수십페이지가 나올것 같습니다.
화면마다 이벤트도 다르게 먹히구요 ~
그래서 기존의 소스를 찾아서 보면,,, 모두 그냥 동적으로 화면이 이동될때 텍스트를 바꿔 뿌린다던가 이미지를 체인지 하는 식으로 되어 있떠라구요.
근데 저는 페이지가 많아지다보니 한 화면당 클래스 하나씩으로 나눠서 작업을 하고 싶은데...
여기서부터 접근 방법을 못찾겠습니다.
뷰 페이저에서 기본적응로 많이 돌아다니는 소스 부분을 보면,,
-----------------------------------------------------
// 뷰페이저에서 사용할 뷰객체 생성/등록
@ Override
public Object instantiateItem ( View pager, int position ) {
TextView tv = new TextView ( mContext ); // 텍스트뷰
tv.setText ( "ViewPager Item" + ( position + 1 ) ); // 글자지정
( (ViewPager) pager ).addView ( tv, 0 ); // 뷰 페이저에 추가
return tv;
}
------------------------------------------------------
이런식으로 객체만 찾아서 셋해주는 방식인데...
저는 어떻게 접근을 해야 합니까.. 힌트를 주세용 ㅜ ㅜ
1. 각 position 마다 채워줄 view inflate 시키기.
2. destroyItem()릴리즈 시킬 함수 선언.
@Override
public void destroyItem(View pager, int position, Object view) {
((ViewPager) pager).removeView((View) view);
}
public Object instantiateItem ( View pager, int position ) {
v = mInflater.inflate( R.layout.default_layout, null );
}
----------------------------------
이렇게 하는 방법은 알구 있구용.
여기서 객체를 찾아 등록하면,,, 어댑터 클래스 안에서만 저 객체를 컨트롤 할 수 있잖아요.
근ㄷㅔ 그게 아니라. 각 클래스 하나 하나마다 객체를 컨트롤 하고 싶은거예요.
제가 아주 방향을 잘못잡은거 같기두 하구요 ㅜ ㅜ
그리고 디스트로이아이템() 도 이미 구현해 놓은 상태이구용.




생성부분에서 커스텀으로 만드셔서 사용하시면 될듯하네요