我正在使用Volley StringRequest使用以下代码对Web服务进行GET调用。
ArrayList<HashMap<String, Object>> list;
StringRequest getRequest = new StringRequest(Request.Method.GET,activity.getString(R.string.URL),
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
int success;
//Parsed data and Want to return list
//return list;
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("Error.Response", error.toString());
}
});
request.add(getRequest);
知道如何返回列表数据?
答案 0 :(得分:1)
使用interface作为侦听器并返回数据
public interface DataListener {
void onDataReceived(ArrayList<HashMap<String, Object>> response);
void onError(DataResponse resp); }
然后在onResponse
datalistener.onDataReceived(list);
答案 1 :(得分:0)
在您的情况下,您在Volley请求之外定义了一个列表。 只需从收到数据的位置分配新数据。
list = yourNewList;
或使用接口。
但是,您使用的是StringRequest,并且只能从服务器获取String作为响应。您必须自己解析String并构建列表。
如果您期望JSON响应,则可以使用JsonArrayRequest或JsonObjectRequest而不是StringRequest。