2015-03-04 3 views
0

У меня есть кок, населенной база данных MySQL:Конкретной части строки блесны

JSONArray data = new JSONArray(getJSONUrl(url)); 

final ArrayList<HashMap<String, String>> MyArrList = new ArrayList<HashMap<String, String>>(); 
HashMap<String, String> map; 

for(int i = 0; i < data.length(); i++){ 
JSONObject c = data.getJSONObject(i); 

map = new HashMap<String, String>(); 
map.put("customerID", c.getString("id_bus")); 
map.put("name", c.getString("bus_line")); 
map.put("phone", c.getString("bus_number")); 
MyArrList.add(map); 

} 
SimpleAdapter sAdap; 
sAdap = new SimpleAdapter(MainActivity.this, MyArrList, R.layout.activity_show, 
new String[] {"name", "phone"}, new int[] {R.id.ColName, R.id.ColTel}); 
spin.setAdapter(sAdap); 

знать, если я получить выбранное значение с помощью этого:

String newCategory = spin.getSelectedItem().toString() 

то, что я получаю :

{customerID=1 , phone=1001 , name=JAM } 

, но все, что я хочу, чтобы это «1001» , как я могу это сделать?

ответ

1

spin.getSelectedItem() возвращает Selected объект Spinner от адаптера.

Так что в вашем случае это был бы объект HashMap<String, String>, поэтому просто введите его, а получите требуемые значения, используя ключ от HashMap.

Мол,

Map<String, String> selectedMap = (HashMap<String, String>) spin.getSelectedItem(); 
String phoneNumber = selectedMap.get("phone"); 
0

Вам просто нужно ArrayList строковых с вашими ценностями «телефон» для адаптера:

final ArrayList<String> myArrList = new ArrayList<String>(); 
for(int i = 0; i < data.length(); i++){ 
    JSONObject c = data.getJSONObject(i); 
    myArrList.add(c.getString("bus_number")); 
}