Я не понимаю, почему значения моей закрытой переменной становятся нулевыми после запроса залпа
Когда я печатаю значения в onResponse, я получаю необходимые значения, но после того, как запрос залпа завершен, я получаю значение NULL.
ListView userListView;
StringRequest stringRequest=null;
ProgressDialog progressDialog;
private String[] strUsername;
private String[] strUserItems;
private String[] strUserImagePaths;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_listing);
userListView=findViewById(R.id.userListView);
progressDialog=new ProgressDialog(this);
StrictMode.setThreadPolicy((new StrictMode.ThreadPolicy.Builder().permitNetwork().build()));
displayUserListing();
UserListCustomViewAdapter viewAdapter=new UserListCustomViewAdapter(this,strUsername,strUserImagePaths,strUserItems);
userListView.setAdapter(viewAdapter);
}
private void displayUserListing()
{
progressDialog.setMessage("Getting User List...");
progressDialog.show();
stringRequest=new StringRequest(
Request.Method.GET, Constants.URL_GetUserList, new Response.Listener<String>()
{
@Override
public void onResponse(String response)
{
progressDialog.dismiss();
try {
Log.d("first","before");
JSONArray jsonObj=new JSONArray(response);
strUsername=new String[jsonObj.length()];
strUserItems=new String[jsonObj.length()];
strUserImagePaths=new String[jsonObj.length()];
String str=null;
for(int i=0;i<jsonObj.length();i++)
{
JSONObject jsonObject=jsonObj.getJSONObject(i);
strUsername[i]=jsonObject.getString("user_name");
strUserItems[i]=jsonObject.getString("user_item");
strUserImagePaths[i]=jsonObject.getString("user_image_path");
str+=strUsername[i];
}
Log.d("first","after"+str);
}catch (Exception e)
{
e.printStackTrace();
}
}
}, new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error)
{
progressDialog.hide();
Log.d("myerror","I got some error");
NetworkResponse networkResponse = error.networkResponse;
Log.d("myerror1",error.getMessage());
// Toast.makeText(getApplicationContext(),error.getMessage().toString(),Toast.LENGTH_LONG).show();
}
})
{
@Override
protected Map<String, String> getParams() throws AuthFailureError
{
Map<String,String> params=new HashMap<String,String>();
params.put("struserid","1");
//params.put("serviceid","1");
return params;
}
};
RequestHandler.getInstance(this).addToRequestQueue(stringRequest);
}