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

ViewPager 에서 Fragment -> Activity 로 값 전달

0 추천
public class SectionsPopPagerAdapter extends FragmentPagerAdapter {
    Context mContext;

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

    @Override
    public Fragment getItem(int position) {
        // getItem is called to instantiate the fragment for the given page.
        // Return a DummySectionFragment (defined as a static inner class
        // below) with the page number as its lone argument.
        switch(position) {
            case 0:
                return new PopUpIntroPage1(mContext);
            case 1:
                return new PopUpIntroPage2(mContext);
            case 2:
                return new PopUpRegistActivity(mContext);
        }
        return null;
    }

    @Override
    public int getCount() {
        // Show 3 total pages.
        return 3;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        Locale l = Locale.getDefault();
        switch (position) {
            case 0:
                return getString(R.string.title_section1).toUpperCase(l);
            case 1:
                return getString(R.string.title_section2).toUpperCase(l);
            case 2:
                return getString(R.string.title_section3).toUpperCase(l);
        }
        return null;
    }
}

 

제목 그대로 Fragment 에서 Activity로 값을 가져오려고 합니다.

 

먼저 페이저 어댑터 코드 첨부합니다.

처음 엔 getItem 함수를통해 변수를 전달하고 값을 저장해서 가져오려 했지만, 그게 잘 안되네요

 

좋은 방법이 있을까요?

에너자이져 (310 포인트) 님이 2015년 11월 29일 질문
대충.. 인터페이스나 브로드캐스트리시버를 ...

1개의 답변

0 추천
Intent 로 값을 넣을것 같은데 어떻게 뭘 넣어서 안된다는지 질문이 참 난해 하네요.

개별 클래스(Integer, String) 등으로 넘기려면 각각 넘기면 잘 넘어갑니다만..

Data Class 묶음을 통짜로 넘기기 위해서는 Serializable을 implements 한 Class를 넘겨야 합니다.
라쎄린드 (25,460 포인트) 님이 2015년 11월 29일 답변
인텐트로 값을 넣지않고, 위에 코드를 보시면 return new 액티비티가 있습니다.

메인 엑티비티에서 탭을 스와이프를 요청하면 포지션값 1, 2, 3, 4 를 통해서 각각 layout을 인플레이트한 view를 리턴받아 뿌려주는 형식입니다.
그래서 인텐트로 액티비티를 실행하는게 아니라 putExtra 등이 안먹히네요
...