Intereting Posts

Android. Несколько раз создавайте фрагмент?

Я создаю приложение, которое отображает данные в ListView. Данные подразделяются на два типа (Популярный, Избранное). У меня есть одно действие и два фрагмента. Фрагменты отображает список элементов, основанных на их категории. Для этого я использовал ListView. Затем у меня есть два фрагментарных фрагмента, которые в точности похожи друг на друга по дизайну, но имеют разные идентификаторы вида, т. Е. TvId1, tvId2 для TextViews. Коды в Фрагментах отличаются только ссылкой на соответствующие макеты и представления в макете. Я получаю данные из URL-адреса, который находится в формате JSON. Но в каждой категории есть другой набор URL-адресов, которые создают одну и ту же структуру только для разных данных. Затем я разбираю соответствующий URL-адрес для каждого фрагмента и соответствующим образом заполняю ListView. Все работает до сих пор.

Что я хочу знать, есть ли способ, которым я могу просто использовать один фрагмент и использовать его два раза с различным набором данных в каждом? Таким образом, мне не нужно создавать другой фрагмент, если появится новая категория.

Цените любую помощь.

Solutions Collecting From Web of "Android. Несколько раз создавайте фрагмент?"

Конечно, вы можете это сделать. На самом деле вы должны сделать это так.

Когда вы создаете фрагмент, не используйте new Fragment(); Создайте статическую функцию newInstance, которая принимает данные как аргумент.

 public static MyFragment newInstance(int type) { MyFragment fragment = new MyFragment(); Bundle args = new Bundle(); args.putInt("type", type); fragment.setArguments(args); return fragment; } 

И тогда вы можете получить тип on onCreate (), используя ниже:

 getArguments().getInt("type"); 

И затем вы получите тип, вы можете соответствующим образом вызвать свой веб-сервис, а затем вы можете соответствующим образом настроить Views .