2014-01-27 22 views
0

我正在使用Json Asp.NET Webservice和Android Soap服務來檢索數據。
它工作正常。現在,我想從ArrayAdapter & Gson中設置Spinner中的Value和Text。怎麼做 ?

我的代碼:從ArrayAdapter&Gson設置微調器中的值和文本

placelist = gson.fromJson(result, City[].class); 
ArrayAdapter<City> adapter = new ArrayAdapter<City>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, placelist); 
spinnerFood.setAdapter(adapter); 


我的輸出:

[{"CityId":1,"CityName":"Vadodara"},{"CityId":2,"CityName":"ahmedabad"},{"CityId":3,"CityName":"Gandhinagar"},{"CityId":4,"CityName":"Bhavnagar"},{"CityId":7,"CityName":"Eluru"},{"CityId":8,"CityName":"Visakhapatnam"},{"CityId":15,"CityName":"Anantapur"},{"CityId":16,"CityName":"Srikakulam"}] 

我想設置CITYNAME爲微調文本和CityId作爲價值平內特。 City是包含CityId和CityName參數的java類文件。

+0

顯示你的輸出和你想要的輸出類型。放置圖像。 –

+0

你可以在後期看到輸出。 –

+0

有很多解決方案:http://bit.ly/L0I4Bv –

回答

1

適配器。 因此,要提取您的陣列的城市名,你可以這樣做:

List lList = Arrays.asList(placelist); 
List<String> cityName = new ArrayList<String>(); 
List<String> cityId = new ArrayList<String>(); 
City obj; 

for (int i=0; i < lList .size(); i++) 
{ 
obj= lList.get(i); 
cityName.add(obj.getCityName()); 
cityId.add(obj.getCityId()); // City Id will be the value for on click of spinner items 

} 

現在,你可以通過這個的cityName列表,你arrayadapter:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, cityName); 

來到你問題的第二部分中,需要設置微調監聽器,你可以得到相應的cityId的創建從「cityId」數組列表的價值

public class CustomOnItemSelectedListener implements OnItemSelectedListener { 
      String Id; 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) { 
      // TODO Auto-generated method stub 


      id= cityId.get(pos); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 

    } 

讓我知道,如果它

Regards

+0

我想將CityId作爲值並將CityName作爲文本。 –

+0

所以,請澄清...你想在微調下拉列表中顯示什麼,點擊那個微調項目會發生什麼? – Amritesh

+0

忘記點擊那個微調。我是CityId作爲Value和CityName作爲Spinner中的文本。 –

0

請按照下面的教程Json parsing

首先檢索JsonArray和從陣列獲取一個JSONObjects的響應。和兩個存儲陣列,並且如果只想CITYNAME是微調

的下拉值

,那麼你應該只傳遞城市名的列表中沒有城市級的陣列到您可以使用該值微調