2013-04-22 70 views
0

我看過 spinners,但在我正在處理微調器上的數據的程序是從一個API加載的......作爲新的,我對加載沒有任何想法將JSONObjects放到微調器上。請幫助。Spinner JSON正在加載

的API答覆的排序是這樣的:

{"status":"","data":{"1":"scorpio"},"message":""} 

在哪裏,我將不得不顯示值「天蠍」的微調,並在後端賦值爲「1」,而路過的形式。請幫助。

+0

您是否解決了您的問題。 – Harish 2013-04-26 04:47:24

+0

我實際上使用了一個普通的微調器。 – 2013-04-26 06:45:30

+0

你問過如何在微調器中加載JSON數據,只有我給出了答案。 – Harish 2013-04-29 04:26:10

回答

1

如果數據是通過以下方式

{ 「數據」:[{ 「1」: 「天蠍」},{ 「2」: 「寶馬」},{ 「3」: 「Scoda」}]}

那麼您檢索和顯示,在微調如下: -

String[] id,name; 

JSONObject jObject = new JSONObject(your data); 
JSONObject jdata = jObject.getJSONArray("data"); 

id = new String[jdata.length()]; 
name = new String[jdata.length()]; 

Iterator<?> keys = jSEngineers.keys(); 

for(int i=0;i<jdata.length();i++){ 
id[i] = (String) keys.next(); 
name[i] = (String) jSEngineers.getString(id[i]); 
} 

現在您可以將這些值存入指定的數組中。現在您可以將所需的數值指定給Spinner。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(YourActivity.this,android.R.layout.simple_spinner_item, name); 
spinnerName.setAdapter(adapter); 

現在你可以選擇微調項目如下

spinnerName.getSelectedItemPosition(); 

有了這個,你將得到item.with的的幫助,您可以檢索您所需的ID的位置,也就是說,你的背景如下:

Log.i("Item id is",id[spinnerName.getSelectedItemPosition()].toString()); 
2

把你的JSON陣列分成數組,並簡單分配到紡紗在循環:

//json array 
{"Employee":[{"Id":73,"Name":"Bård Pedersen","Email":"[email protected]","Mobile":"9004422"}]} 

ArrayList<String> TAG_ID = new ArrayList<String>(); 
ArrayList<String> TAG_NAME = new ArrayList<String>(); 
ArrayList<String> TAG_EMAIL = new ArrayList<String>(); 
ArrayList<String> TAG_PHONE_MOBILE = new ArrayList<String>(); 

    // Getting Array of Employee 
     employee = json.getJSONArray("Employee"); 

     // looping through All Employee 
     for (int i = 0; i < employee.length(); i++) { 
      JSONObject c = employee.getJSONObject(i); 

      // Storing each json item in variable 
      id = c.getString("Id"); 
      name = c.getString("Name"); 
      email = c.getString("Email"); 
      mobile = c.getString("Mobile"); 

      // adding all get values into array 
      if (name != "null" && mobile != "null") { 
       TAG_NAME.add(name); 
       TAG_ID.add(id); 
       TAG_EMAIL.add(email); 
       TAG_PHONE_MOBILE.add(mobile); 
       close.add(R.drawable.close); 
      }