获取微调器字符串的特定部分
Get Specific part of the string of a spinner
我有一个由 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”
我该怎么做?
您只需要一个 ArrayList of String 和您的适配器的 "phone" 值:
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"));
}
spin.getSelectedItem()
returns 从适配器中选择的 Spinner 对象。
因此,在您的情况下,它是一个 HashMap<String, String>
对象,因此只需对其进行转换,然后 使用 HashMap 中的键 获取所需的值。
喜欢,
Map<String, String> selectedMap = (HashMap<String, String>) spin.getSelectedItem();
String phoneNumber = selectedMap.get("phone");
我有一个由 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” 我该怎么做?
您只需要一个 ArrayList of String 和您的适配器的 "phone" 值:
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"));
}
spin.getSelectedItem()
returns 从适配器中选择的 Spinner 对象。
因此,在您的情况下,它是一个 HashMap<String, String>
对象,因此只需对其进行转换,然后 使用 HashMap 中的键 获取所需的值。
喜欢,
Map<String, String> selectedMap = (HashMap<String, String>) spin.getSelectedItem();
String phoneNumber = selectedMap.get("phone");