json解析微调器的问题

时间:2016-10-22 07:21:17

标签: php android json

我通过使用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。那么可能的解决办法是什么呢? 我希望有人能理解我的观点并帮助我...我是一个更新鲜的人...谢谢你

1 个答案:

答案 0 :(得分:0)

正如@VivekMishra在评论中所建议的那样。我使用了那个链接并定制了我的微调器。然后我隐藏ID textView的可见性,以便在输出中我可以获得ID textview的值,并且由于可见性设置,它的文本不会出现在微调器输出中。