마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

viewpager의 각 프래그먼트들의 작동이 이상합니다.

0 추천

안녕하세요.

 

fragmentpageradapter를 사용하였으며 페이지를 넘기는데는 문제가 없으며 오류도 발생하지 않습니다..

그런데 1번째 fragment를 처음 시작으로 했을 때 2번째 fragment의  oncreate에 해놓았던 Log나 Toast가 튀어나옵니다. 2번째 fragment로 넘어가면 3번째 fragment것이 뜨며 3번째것으로 가면 아무것도 작동하지 않네요..

왜 그러는걸까요..ㅠ

밑에는 fragmentadapter의 getitem입니다.

 

Fragment cur_fragment=new Fragment();

@Override
public Fragment getItem(int position) {
    switch (position) {
        case 0: // Fragment # 0 - This will show FirstFragment
            cur_fragment=new RegisterRoomreg1();
            break;
        case 1: // Fragment # 0 - This will show FirstFragment different title
            cur_fragment=new RegisterRoomreg2();
            break;
        case 2: // Fragment # 1 - This will show SecondFragment
            cur_fragment=new RegisterRoomreg3();
            break;
    }
    return cur_fragment;
}

 

 

익명사용자 님이 2015년 11월 17일 질문

2개의 답변

0 추천
2번째 뷰로 넘겼을때 3번째뷰가 나오거나 하는 에러는 아닌거 같네요

상식적으로 프래그먼트의 동작을 하려면 좌우 뷰가 선 로딩이 되야 하기 때문에

현재보고 있는 뷰의 다음 뷰까지는 로딩하면서 토스트나 로그가 나올것같은데요.

정상인거 같습니다. 다만, 토스트가 원치 않게 뜬다면 해당뷰가 실제로 보이는 타이밍을

찾아서 거기에 토스트를 넣으시면 되겠죠.
라쎄린드 (25,460 포인트) 님이 2015년 11월 17일 답변
0 추천
ViewPager는 기본으로 다음 Fragment를 미리 로딩합니다.

ViewPager의 아래 메서드를 확인해 보세요.

http://developer.android.com/reference/android/support/v4/view/ViewPager.html#setOffscreenPageLimit%28int%29
mcsong (44,040 포인트) 님이 2015년 11월 17일 답변
...