我有2个问题。
一次:
我无法初始化一个非最终变量内部方法。我想在JsonRequest中初始化一个变量但是当我使用它时会向我显示一个错误 - 创建变量final。
public DataModel[] getContentsUsername(final int count) {
DataModel[] dataModels = new DataModel[count];
for (int i = 0; i < count; i++) {
dataModels[i] = new DataModel();
}
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest("http://www.lmslfm.isteb.ir/message/json.php", new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
try {
JSONObject jsonObject ;
for (int i = 0; i < count; i++) {
jsonObject = (JSONObject) response.get(i);
dataModels[i].setMessageContent(jsonObject.getString("message_content"));
dataModels[i].setMessageUserName(jsonObject.getString("user_name"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
jsonArrayRequest.setRetryPolicy(new DefaultRetryPolicy(4000, 0, 0));
RequestQueue requestQueue = Volley.newRequestQueue(context);
requestQueue.add(jsonArrayRequest);
return dataModels;
}
和2: 当一个应用程序从服务器提供数据时需要时间,当我想从这个方法接收数据时,我给出一个空变量。 当从服务器收到数据或在几秒钟后收到数据时,如何使用代码从方法中恢复。 感谢