我通过使用php api获取一些数据,我使用JSON PARSING获取输出:以下是代码
private void showJSON(String json){
ParseJSON pj = new ParseJSON(json);
pj.parseJSON();
state_ids=ParseJSON.ids;
states=ParseJSON.names;
//state_nid=ParseJSON.name_nid;
//Creating the ArrayAdapter instance having the state list
ArrayAdapter a3 = new ArrayAdapter(UpdateUserProfile.this,android.R.layout.simple_spinner_item,states);
a3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//Setting the ArrayAdapter data on the Spinner
state_spin.setAdapter(a3);
}
这里是parseJson()
protected void parseJSON(){
JSONObject jsonObject=null;
try {
jsonObject = new JSONObject(json);
users = jsonObject.getJSONArray(JSON_ARRAY);
ids = new String[users.length()];
names = new String[users.length()];
name_nid = new String[users.length()];
for(int i=0;i<users.length();i++){
JSONObject jo = users.getJSONObject(i);
ids[i] = jo.getString(KEY_ID);
names[i] = jo.getString(KEY_NAME);
name_nid[i]=ids[i]+" "+names[i];
/*int d=1;
String e=String.valueOf(d);*/
}
} catch (JSONException e) {
e.printStackTrace();
}
}
但对我来说最具挑战性的是,无论何时用户选择任何一种状态,我都希望得到相应的“PHP ID”。那个州。这样我就可以向服务器发送另一个请求以获取该状态的区域。我在另一个微调器上显示相应的区域。
//Performing action onItemSelected and onNothing selected
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position,long id) {
selected_state= (String)state_spin.getItemAtPosition(position);
//state_id_only=selected_state.replaceAll("[^0-9]", "");
//Log.d("state id is", state_id_only);
//sendRequest1();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
但是在“状态”上#39;微调器我只想显示状态文本而不是ids。那么可能的解决办法是什么呢? 我希望有人能理解我的观点并帮助我...我是一个更新鲜的人...谢谢你
答案 0 :(得分:0)
正如@VivekMishra在评论中所建议的那样。我使用了那个链接并定制了我的微调器。然后我隐藏ID textView的可见性,以便在输出中我可以获得ID textview的值,并且由于可见性设置,它的文本不会出现在微调器输出中。