当我在android中选择微调项目时,如何获取特定的数组项?

时间:2016-12-27 08:53:56

标签: android

{
  "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"
        }
      ]
    }
]
}

我必须使用上面的json设置我的两个微调器值。第一个微调器值是货仓名称,另一个微调器值是项目名称。如果我自动选择第一个微调器仓库名称,第二个微调器值必须根据货仓名称更改...我的第一个微调器值是godown1和godown2。我已经将这些值设置为第一个微调器..但我的问题是,如果我选择了godown1,我的另一个微调器仅从项目数组中选择,如项目1,项目2不是所有项目,如项目1,项目2,项目1,项目2。 ..i得到了物品阵列中的所有物品......任何人都可以解释并解决我的问题。

1 个答案:

答案 0 :(得分:0)

使用项目列表创建仓库名称地图 -

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
        }

});