Intereting Posts
HttpURLConnection для отправки изображений, аудио и видео файлов с параметром может (String или Json String) Android Android-градир, собственные библиотеки для разных архитектур Найти окно, содержащее вид в Android Ограничение на страницу просмотра ViewPager Общие настройки перезагружаются, когда приложение принудительно закрывается или падает Различия в дизайнах макетов Android между версиями 2.3.3 и 4+ Android FinalizerReference с использованием 7 МБ ОЗУ Android – общий доступ к содержимому Facebook GreenDAO 40 секунд для вставки 600 записей Как нарисовать наложение на SurfaceView, используемое камерой на Android? Удалите отступы Android по умолчанию из электронных писем HTML Как найти все файлы с определенным расширением на Android? Каков наилучший способ создания уведомления о стиле мультимедиа для Android Lollipop, учитывая обратную совместимость? Android Studio: создать хорошо управляемую точку останова исключения Eclipse не генерирует MainActivity.java & activity_main.xml

Как использовать методы setArguments () и getArguments () во Фрагментах?

У меня есть 2 фрагмента: (1) Frag1 (2) Frag2.

Frag1

bundl = new Bundle(); bundl.putStringArrayList("elist", eList); Frag2 dv = new Frag2(); dv.setArguments(bundl); FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.the_fragg,dv); ft.show(getFragmentManager().findFragmentById(R.id.the_fragg)); ft.addToBackStack(null); ft.commit(); 

Как получить эти данные в Frag2?

Solutions Collecting From Web of "Как использовать методы setArguments () и getArguments () во Фрагментах?"

У вас есть метод, называемый getArguments() который принадлежит классу Fragment .

Просто вызовите getArguments() в Frag2 onCreateView() :

 public class Frag2 extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup containerObject, Bundle savedInstanceState){ //here is your arguments Bundle bundle=getArguments(); //here is your list array String[] myStrings=bundle.getStringArray("elist"); } } 

Например: Добавить данные: –

  Bundle bundle = new Bundle(); bundle.putString("latitude", latitude); bundle.putString("longitude", longitude); bundle.putString("board_id", board_id); MapFragment mapFragment = new MapFragment(); mapFragment.setArguments(bundle); 

Например: Получить данные: –

 String latitude = getArguments().getString("latitude") 

Для таких, как я, которые ищут объекты, отличные от примитивов, поскольку вы не можете создать параметризованный конструктор в своем фрагменте, просто добавьте в ваш фрагмент аксессуар сеттера, это всегда работает для меня.

В Frag1:

 Bundle b= new Bundle(); b.putStringArray("arrayname that use to retrive in frag2",StringArrayObject); Frag2.setArguments(b); 

В Frag2:

 Bundle b=getArguments(); String [] stringArray=b.getStringArray("arrayname that passed in frag1"); 

Это просто.