Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.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 JSONArray需要更高的API级别,但在同一类中使用时没有问题_Java_Android_Json - Fatal编程技术网

Java JSONArray需要更高的API级别,但在同一类中使用时没有问题

Java JSONArray需要更高的API级别,但在同一类中使用时没有问题,java,android,json,Java,Android,Json,这是一个反复出现的问题,我一直在安卓工作室。我将使用JSONArray类,它将告诉我“调用需要API级别19(当前最小值为15)”。奇怪的是,我能够在同一个类的其他位置使用JSONArray 我尝试过的一些事情包括清理和构建项目(什么都不做),重新启动Android Studio(对这个问题也什么都不做),重写使用JSONArray的方法,或者移动它(这有时会起作用) 这是一个我不明白的例子 私有void makeApiCall(字符串文本){ make(上下文、文本、新响应.Listener

这是一个反复出现的问题,我一直在安卓工作室。我将使用JSONArray类,它将告诉我“调用需要API级别19(当前最小值为15)”。奇怪的是,我能够在同一个类的其他位置使用JSONArray

我尝试过的一些事情包括清理和构建项目(什么都不做),重新启动Android Studio(对这个问题也什么都不做),重写使用JSONArray的方法,或者移动它(这有时会起作用)

这是一个我不明白的例子


私有void makeApiCall(字符串文本){
make(上下文、文本、新响应.Listener()){
@凌驾
公共void onResponse(字符串响应){
List employees=new ArrayList();
试一试{
JSONArray数组=新的JSONArray(响应);
employees=new APIHelper().populateEmployeetList(数组);
}捕获(例外e){
e、 printStackTrace();
}
autoAdapter.setData(员工);
autoAdapter.notifyDataSetChanged();
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
}
});
}
这里有一个例子,我得到了错误

private void getJobs(字符串文本){
getJobsByPartial(上下文、文本、新响应.Listener()){
@凌驾
公共响应(对象响应){
试一试{
列表函数=新的ArrayList();
JSONArray作业=新的JSONArray(响应);
函数=新的APIHelper().populateFunctionList(作业);
jobAdapter.setData(函数);
jobAdapter.notifyDataSetChanged();
}
捕获(JSONException ex){
例如printStackTrace();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
}
});
}

在您的第一个代码片段中,
响应
是一个
字符串
。采用
字符串的
JSONArray
构造函数从API级别1开始就存在了

在第二个代码段中,
响应
是一个
对象
。接受
对象的
JSONArray
构造函数仅在API级别19之后出现

在第二个代码段中,
APICall.getJobsByPartial()
应该为回调提供比
对象更具体的内容