2

완벽하게 정밀한 FragmentActivity를 실행하고 (동일한) Fragment간에 부드러운 수평 슬라이딩을 사용합니다. Fragment 객체에 변수를 보낼 수있는 방법이 궁금합니다.Android FragmentActivity 변수를 단편에 전달하는 방법은 무엇입니까?

내 코드는 다음과 같습니다

private void initialisePaging() { 

    fragments = new Vector<Fragment>(); 

    for (int i = 0; i < wiList.length; i++) { 
     WhiteboardImage tmpWi = wiList[i]; 

     intent.putExtra("displayNow", tmpWi.getFilename()); 
     fragments.add(Fragment.instantiate(this, GalleryFragment.class.getName())); 
    } 

    this.mPagerAdapter = new GalleryPagerAdapter(super.getSupportFragmentManager(), fragments); 

    ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager); 
    pager.setAdapter(this.mPagerAdapter); 

    // Define which item of the list will be displayed 
    pager.setCurrentItem(4); 
} 

그래서 기본적으로()에 루프에서 내가 추가하고 여러 번 GalleryFragment 개체입니다 PagerAdapter에. 지금 내가하고 싶은 것은 각 GalleryFragment가 다른 ID (또는 그 문제에 대한 문자열)를 얻는다는 것입니다. 루프 내 각 GalleryFragment 객체에 다른 값을 전달하는 방법을 알 수 없습니다. 현재 각 객체는 동일한 값을 얻습니다.

도움 주셔서 감사합니다.

답변

3

나는 보통 다음과 같이 만들었습니다. 데이터가 처음부터 유효하지만 변경되지 않으면 fragment.instantiate의 매개 변수로 파싱했습니다. 이 함수에서는 .putArguments (...)를 사용하여 Bundle에 넣을 수 있습니다. 그리고 조각의 onCreate에서 .getArguments (...)를 사용하여 데이터를 검색 할 수 있습니다.

+0

감사합니다. 나는 그걸 동시에 알아 냈지만 지금은 다른 문제가 있습니다. 나는이 코드를 사용하고있다 : –

+0

미안하다. 내가 편집하고있는 동안 나의 이전의 코멘트가 차단되고 있었다. 나는 말 할려고 : 환상! 그것은 훌륭하게 그렇게 작동합니다! : -] –

+0

변수가 처음부터 사용 가능하지 않은 경우 변수에 액세스하는 방법에 대해 알고 싶습니다. –

관련 문제