Android Fragmentactivity Как передавать переменные в фрагменты?
-
27-10-2019 - |
Вопрос
У меня есть совершенно тонкая фрагментируемость с гладким горизонтальным скольжением между (идентичными) фрагментами. Мне было интересно, как я могу отправить переменную в объекты фрагмента?
Мой код выглядит так:
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 () я добавляю объект галереи фрагмента в PageRadapter. Теперь я хочу сделать то, что каждая галерея -фрагмент получает другой идентификатор (или строку в этом отношении). Я не мог понять, как передать различное значение каждому объекту GalleryFragment в этом цикле. На данный момент каждый объект получает одинаковое значение.
Спасибо за помощь.
Решение
Я обычно делал это так: если данные доступны с начала и не изменяются, тогда я проанализировал их как параметры фрагмента. Затем в этой функции вы можете поместить их в виде пакета с .putarguments (...) в ваш фрагмент. И в вашем фрагменте вы можете получить данные с помощью .getarguments (...)