1
{
  "godowns": [
    {
      "name": "godown1",
      "code": "g001",
      "item": [
        {
          "name": "item1",
          "code": "i001",
          "qty": "20"
        },
        {
          "name": "item2",
          "code": "i002",
          "qty": "20"
        }
      ]
    },
    {
      "name": "godown2",
      "code": "g002",
      "item": [
        {
          "name": "item1",
          "code": "i006",
          "qty": "20"
        },
        {
          "name": "item2",
          "code": "i007",
          "qty": "20"
        }
      ]
    }
]
}

I have to set my two spinner values using above json. First spinner values are godown name and another spinner value are item name..if i select first spinner godown name automatically the second spinner values have to change based on godown name...my first spinner values are godown1 and godown2. I already set these values into first spinner..but my question is ,if i choose godown1, my another spinner values only from item array like item 1,item 2 not all items like item 1,item 2,item 1,item 2...i got all the items which is present inside the item array..can anyone explain and solve my problem.

1 Answers1

0

create a map of godown name with the list of items -

Map<String, List<String>> godownItems = new HashMap<>();

List<String> godown1Items = new ArrayList<>();
godownItems.put("godown1", godown1Items);
godownItems.put("godown2", godown2Items);


spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
     public void onItemSelected(AdapterView<?> parent, View view, 
                int pos, long id) {
            //steps to follow
            //1. get the selected godown name
            //2. get the list of items using the godown name from the map
            //3. set the list to the second spinner
        }

        public void onNothingSelected(AdapterView<?> parent) {
            // Do nothing, just another required interface callback
        }

});
Arjit
  • 3,290
  • 1
  • 17
  • 18