Как установить свойства объекта (JAVA) из разных фрагментов, которые содержат поля формы ввода пользователя в android? - PullRequest
0 голосов
/ 22 февраля 2020

У меня есть POJO с именем Product, который json выглядит следующим образом:

"products":[
    {
      "productId":"YCa18tCxRjOpAQ4HhCNZ",
      "availableQuantity":1550,
      "cartonQuanity":100,
      "categoryName":"Men's formals",
      "color":"red",
      "colorSelection":"red,green,blue",
      "description":"this is a nice shoe",
      "discountPrice":199.50,
      "images":[
        {
          "imageId":"XCHDYUE76uD&HGD", 
          "imageUrl":"https://fakeimage.org/376?q=hello"

        },
      {
        "imageId":"XCHDYUEFG76uD&HGD", 
        "imageUrl":"https://fakeimage.org/376?q=hello"
      }
      ],
      "isOutOfStock":false,
      "productName":"ZenStar Men's Canvas Shoes",
      "price":250,
      "setQuantity":6,
      "size":"8x2",
      "sizeSelection":"8x2,9x2,10x2",
      "soleName":"EVA",
      "sortTags":"men's formals, formal wear",
      "type":"men",
      "notes":"some note on this product",
      "videoUrl":"https://fakeimage.org/376?q=hello",
      "isShowOutOfStock":true,
      "isForceAllowOrder":true
  },
  {
      "productId":"YCa18tCxRjOpAQ4HhCNZ",
      "availableQuantity":1550,
      "cartonQuanity":100,
      "categoryName":"Men's formals",
      "color":"red",
      "colorSelection":"red,green,blue",
      "description":"this is a nice shoe",
      "discountPrice":199.50,
      "images":[
        {
          "imageId":"XCHDYUE76uD&HGD", 
          "imageUrl":"https://fakeimage.org/376?q=hello"

        },
      {
        "imageId":"XCHDYUEFG76uD&HGD", 
        "imageUrl":"https://fakeimage.org/376?q=hello"
      }
      ],
      "isOutOfStock":false,
      "productName":"ZenStar Men's Canvas Shoes",
      "price":250,
      "setQuantity":6,
      "size":"8x2",
      "sizeSelection":"8x2,9x2,10x2",
      "soleName":"EVA",
      "sortTags":"men's formals, formal wear",
      "type":"men",
      "notes":"some note on this product",
      "videoUrl":"https://fakeimage.org/376?q=hello",
      "isShowOutOfStock":true,
      "isForceAllowOrder":true
  }
  ]

, и я создал соответствующие JAVA классы для него из jsonschema2pojo.org

Теперь проблема:

У меня есть действие, которое содержит настройку табуляции с viewpager с 3 фрагментами: Фрагмент 1 содержит форму с правками, чтобы получить данные от пользователя для вышеупомянутых полей, таких как: название продукта, цвет, размер и т. д. c. Фрагмент 2, который содержит некоторые переключатели, такие как: isOutOfStock, isForceAllowOrder и т. Д. c. Фрагмент 3, который также имеет некоторые поля, связанные с продуктом, такие как: заметки, выберите больше изображений продукта из галереи, выберите видео продукта и т. Д. c.

Теперь я хочу установить все эти данные, заполненные пользователем, в Экземпляр моего класса Product, который также имеет геттеры и сеттеры по нажатию кнопки, которая является пунктом меню в меню, которое нужно раздуть для родительской активности этих 3 фрагментов.

Этот объект при сохранении со всеми Данные, предоставленные пользователем, затем должны быть сохранены в базе данных реального времени или в firestore.

Я совершенно сбит с толку, понимая, как этого добиться, потому что: 1. Я пытался общаться между фрагментами и действиями через интерфейсы 2. Я пытался передать объекты между действиями и фрагментами, используя serializable / parcelable и даже gson 3. Я попытался создать stati c экземпляров моего класса Product в stati c class

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

Пожалуйста помоги. Я буду очень благодарен этому замечательному сообществу StackOverflow

Я публикую скриншоты моего приложения, чтобы помочь вам лучше понять ситуацию

fragment 1 fragment 2 fragment 3

...