Android中使用JSON的AutoCompleteTextView

Android中使用JSON的AutoCompleteTextView,android,json,autocompletetextview,Android,Json,Autocompletetextview,我试图将JSON数组提取到一个AutoCompleteTextView中,但是我在下拉列表中得到每个值两次 JSON: Ajax类: class Ajax5 extends AsyncTask<String, String, String> {// JSON STARTS HERE // new CreateNewProduct().execute(); protected ArrayList<NameValuePair> parameters;

我试图将
JSON
数组提取到一个
AutoCompleteTextView
中,但是我在下拉列表中得到每个值两次

JSON:

Ajax类:

class Ajax5 extends AsyncTask<String, String, String> {// JSON STARTS HERE

    // new CreateNewProduct().execute();

    protected ArrayList<NameValuePair> parameters;
    JSONObject json;

    public Ajax5() {
        super();
        parameters = new ArrayList<NameValuePair>();

    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

    }

    protected String doInBackground(String... args) {

        JSONParser jParser = new JSONParser();
        json = jParser
                .makeHttpRequest(
                        "http:link.php",
                        "GET", this.parameters);

        try {
            Log.d("Create Response", "four"
                    + json.getJSONObject("1").toString());
        } catch (JSONException e) {
            e.printStackTrace();
        }

        return null;
    }

    protected void onPostExecute(String file_url) {
        try{
        JSONArray jArray=json.getJSONArray("names");
        pickname = new ArrayList<TreeMap<String, String>>();
        //TreeMap<String, TreeMap<String, String>> tempMap = new TreeMap<String, TreeMap<String, String>>();
        for(int i=0;i<jArray.length();i++){
            TreeMap<String,String> valuePairs=new TreeMap<String,String>();
            JSONObject tempObj=jArray.getJSONObject(i);
            valuePairs.put("key", tempObj.getString("names"));
            valuePairs.put("value", tempObj.getString("names"));
            pickpinn.add(valuePairs);

        }
                    }
         catch (JSONException e) {
                e.printStackTrace();
            }
        Log.d("name", pickpinn.toString());
        //routes.addAll(vehicles.values());
        SimpleAdapter sp5_adapter = new SimpleAdapter(OnlineBooking.this, pickpinn,
                R.layout.runner, new String[] { "key", "value" },

                new int[] { R.id.name_id, R.id.name_value });
        // sp1_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        actv1.setAdapter(sp5_adapter);

        actv1.addTextChangedListener(OnlineBooking.this);
        actv1.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View v, int arg2,
                    long arg3) {

                TextView stv = (TextView) v.findViewById(R.id.name_id);
                String route_id_string = stv.getText().toString();
                edsp5.setText(route_id_string);
                actv1.setText(((TextView) v.findViewById(R.id.name_value))
                        .getText().toString());


            }

        });

    }
}
Ajax5类扩展了异步任务{//JSON从这里开始
//新建CreateNewProduct().execute();
受保护的ArrayList参数;
JSONObject json;
公共Ajax5(){
超级();
参数=新的ArrayList();
}
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
}
受保护的字符串doInBackground(字符串…args){
JSONParser jParser=新的JSONParser();
json=jParser
.makeHttpRequest(
“http:link.php”,
“获取”,这是参数);
试一试{
Log.d(“创建响应”,“四”
+json.getJSONObject(“1”).toString();
}捕获(JSONException e){
e、 printStackTrace();
}
返回null;
}
受保护的void onPostExecute(字符串文件\u url){
试一试{
JSONArray jArray=json.getJSONArray(“名称”);
pickname=newarraylist();
//TreeMap tempMap=newtreemap();

对于(int i=0;i您需要将其从

    JSONArray jArray=json.getJSONArray("names");
    pickname = new ArrayList<TreeMap<String, String>>();
    //TreeMap<String, TreeMap<String, String>> tempMap = new TreeMap<String, TreeMap<String, String>>();
    for(int i=0;i<jArray.length();i++){
        TreeMap<String,String> valuePairs=new TreeMap<String,String>();
        JSONObject tempObj=jArray.getJSONObject(i);
        valuePairs.put("key", tempObj.getString("names"));
        valuePairs.put("value", tempObj.getString("names"));
        pickpinn.add(valuePairs);

    }


@我们会来的。很高兴帮助你!!
    JSONArray jArray=json.getJSONArray("names");
    pickname = new ArrayList<TreeMap<String, String>>();
    //TreeMap<String, TreeMap<String, String>> tempMap = new TreeMap<String, TreeMap<String, String>>();
    for(int i=0;i<jArray.length();i++){
        TreeMap<String,String> valuePairs=new TreeMap<String,String>();
        JSONObject tempObj=jArray.getJSONObject(i);
        valuePairs.put("key", tempObj.getString("names"));
        valuePairs.put("value", tempObj.getString("names"));
        pickpinn.add(valuePairs);

    }
     JSONArray jArray=json.getJSONArray("names");
     pickname = new ArrayList<TreeMap<String, String>>();
    //TreeMap<String, TreeMap<String, String>> tempMap = new TreeMap<String, TreeMap<String, String>>();
    for(int i=0;i<jArray.length();i++){
        TreeMap<String,String> valuePairs=new TreeMap<String,String>();
        JSONObject tempObj=jArray.getJSONObject(i);
        valuePairs.put("id", tempObj.getString("id"));
        valuePairs.put("names", tempObj.getString("names"));
        pickpinn.add(valuePairs);

    }
  SimpleAdapter sp5_adapter = new SimpleAdapter(OnlineBooking.this, pickpinn,
            R.layout.runner, new String[] { "key", "value" },

            new int[] { R.id.name_id, R.id.name_value });
  SimpleAdapter sp5_adapter = new SimpleAdapter(OnlineBooking.this, pickpinn,
            R.layout.runner, new String[] { "id", "names" },

            new int[] { R.id.name_id, R.id.name_value });