Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法在Android中使用未命名的JSON数组填充AutocompleteTextview_Java_Android_Json_Android Volley_Autocompletetextview - Fatal编程技术网

Java 无法在Android中使用未命名的JSON数组填充AutocompleteTextview

Java 无法在Android中使用未命名的JSON数组填充AutocompleteTextview,java,android,json,android-volley,autocompletetextview,Java,Android,Json,Android Volley,Autocompletetextview,我一直在尝试使用API用JSON填充autocompletetextview,但它不起作用,因为JSON API没有数组名。如果我尝试使用其他具有数组名称的API,它就可以正常工作 这是API的示例 我试过实现这个答案,但它不起作用 这是API的结构 这是我的方法。 private void populateEduList() { List<String> responseList = new ArrayList<>(); String url = &q

我一直在尝试使用API用JSON填充autocompletetextview,但它不起作用,因为JSON API没有数组名。如果我尝试使用其他具有数组名称的API,它就可以正常工作

这是API的示例

我试过实现这个答案,但它不起作用

这是API的结构

这是我的方法。

private void populateEduList() {
    List<String> responseList = new ArrayList<>();
    String url = "https://autocomplete.clearbit.com/v1/companies/suggest?query=amazon";
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, response -> {

        try {
            JSONArray jsonArray = new JSONArray(response);
            for (int i = 0; i < jsonArray.length(); i++){
                JSONObject object = jsonArray.getJSONObject(i);
                responseList.add(object.getString("name"));
                ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, responseList);
                mAutoCompEdu.setAdapter(adapter);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }, error -> {
        //do something for the error
    });

    requestQueue.add(request);
}
private void populateEduList() {
        List<String> responseList = new ArrayList<>();
        String url = "https://autocomplete.clearbit.com/v1/companies/suggest?query=amazon";
        StringRequest request = new StringRequest(Request.Method.GET, url, response -> {
            try {
                JSONArray jsonArray = new JSONArray(response);
                for (int i = 0; i < jsonArray.length(); i++){
                    JSONObject object = jsonArray.getJSONObject(i);
                    responseList.add(object.getString("name"));
                    Log.d("hasjkd", object.getString("name"));
                    ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, responseList);
                    mAutoCompEdu.setAdapter(adapter);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

        }, error -> {
            //do something for the error
        });

        requestQueue.add(request);
    }
private void populatedulist(){
List responseList=new ArrayList();
字符串url=”https://autocomplete.clearbit.com/v1/companies/suggest?query=amazon";
JsonObjectRequest=新的JsonObjectRequest(request.Method.GET,url,null,response->{
试一试{
JSONArray JSONArray=新JSONArray(响应);
for(int i=0;i{
//为这个错误做点什么
});
添加(请求);
}

我一直在使用Volley库获取JSON并对其进行解析。

这就是答案,要在autocompleteTextView中获取和显示JSON,如果JSON数组没有名称,我们必须使用
StringRequest
而不是
JsonObjectRequest

更新代码。

private void populateEduList() {
    List<String> responseList = new ArrayList<>();
    String url = "https://autocomplete.clearbit.com/v1/companies/suggest?query=amazon";
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, response -> {

        try {
            JSONArray jsonArray = new JSONArray(response);
            for (int i = 0; i < jsonArray.length(); i++){
                JSONObject object = jsonArray.getJSONObject(i);
                responseList.add(object.getString("name"));
                ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, responseList);
                mAutoCompEdu.setAdapter(adapter);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }, error -> {
        //do something for the error
    });

    requestQueue.add(request);
}
private void populateEduList() {
        List<String> responseList = new ArrayList<>();
        String url = "https://autocomplete.clearbit.com/v1/companies/suggest?query=amazon";
        StringRequest request = new StringRequest(Request.Method.GET, url, response -> {
            try {
                JSONArray jsonArray = new JSONArray(response);
                for (int i = 0; i < jsonArray.length(); i++){
                    JSONObject object = jsonArray.getJSONObject(i);
                    responseList.add(object.getString("name"));
                    Log.d("hasjkd", object.getString("name"));
                    ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, responseList);
                    mAutoCompEdu.setAdapter(adapter);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

        }, error -> {
            //do something for the error
        });

        requestQueue.add(request);
    }
private void populatedulist(){
List responseList=new ArrayList();
字符串url=”https://autocomplete.clearbit.com/v1/companies/suggest?query=amazon";
StringRequest=新的StringRequest(request.Method.GET,url,response->{
试一试{
JSONArray JSONArray=新JSONArray(响应);
for(int i=0;i{
//为这个错误做点什么
});
添加(请求);
}

您是否检查了是否收到响应?在您的请求中?通过邮递员它可以工作。我是在询问android studiono,它不是使用
StringRequest
获取objectsTry