Android FragmentActivity как передать переменные во фрагменты? - PullRequest
2 голосов
/ 18 февраля 2012

У меня отлично работает FragmentActivity с плавным горизонтальным скольжением между (одинаковыми) фрагментами.Мне было интересно, как я могу отправить переменную объектам Fragment?

Мой код выглядит так:

    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);
}

Так что в основном в цикле for () я добавляю несколько разОбъект GalleryFragment в PagerAdapter.Теперь я хочу, чтобы каждый GalleryFragment получал свой идентификатор (или строку).Я не мог понять, как передать разные значения каждому объекту GalleryFragment в этом цикле.На данный момент каждый объект получает одинаковое значение.

Спасибо за любую помощь.

1 Ответ

3 голосов
/ 18 февраля 2012

Я обычно делал это так: если данные доступны с начала и не изменяются, то я анализирую их как параметры фрагмента.затем в этой функции вы можете поместить их как Bundle с .putArguments (...) в ваш фрагмент.И в onCreate вашего фрагмента вы можете получить данные с помощью .getArguments (...)

...