从MySQL数据库(服务器)将JSON数组填充到android spinner中

时间:2014-11-11 11:12:37

标签: android json android-spinner

我能够将JSON数组填充到微调器值并获取所选项目。但我想要在微调器中选择的项目的id。需要帮忙。感谢

{"streams":[{"streamid":"1","streamname":"Engineering"},          
            {"streamid":"2","streamname":"Medical"},     
            {"streamid":"3","streamname":"Science"}]}

例如,如果我选择STREAMNAME-Medical,那么我可以获得医疗ID,即STREAMID-2 但每次我得到最后一个流名称和流ID。来自JSON map.get(“streamid”)和(“streamname”)

这是我的代码:

private String streamid, streamname,stream,id,name;
ArrayAdapter<String> streamAdapter;
Spinner sp;

 ////////////////////////////////////////////////

  btnCreateAccount.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub

            stream=(String) sp.getSelectedItem();
            System.out.println("STREAM="+stream);

            });
}

  try {
            if (c.GetResponse() != null) {
                JSONObject json = new JSONObject(c.GetResponse());
                JSONArray userKey = json.getJSONArray("streams");
                Log.e("GetJason Response", " " + userKey);

                ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                sp.setPrompt("Select Stream");
                for (int i = 0; i < userKey.length(); ++i)
                {   
                    map = new HashMap<String, String>();
                    map.put("streamid", userKey.getJSONObject(i).optString("streamid"));
                    map.put("streamname", userKey.getJSONObject(i).optString("streamname"));

                    data = new ArrayList<HashMap<String, String>>();
                    // Set the JSON Objects into the array
                    data.add(map);
                    id = (String) map.get("streamid");
                    name = (String) map.get("streamname");

                    adapter.add(userKey.getJSONObject(i).getString("streamname"));   
                }

                sp.setAdapter(adapter);
                System.out.println("ID="+ id);
                System.out.println("NAME="+name);
            } 

0 个答案:

没有答案