访问onResponse中的数据凌驾于文本之上:Android

访问onResponse中的数据凌驾于文本之上:Android,android,json,textview,android-volley,Android,Json,Textview,Android Volley,我有一个应用程序,显示几个公司及其分支机构的名单。我需要显示公司及其分支机构的开业时间。我正在尝试使用截击从服务器获取数据 String url = context.getString(site_url) + "branch_time.cfc?method=branchtime&branchid=" + bid; StringRequest stringRequest = new StringRequest(url, new Response.Listener<String

我有一个应用程序,显示几个公司及其分支机构的名单。我需要显示公司及其分支机构的开业时间。我正在尝试使用截击从服务器获取数据

String url = context.getString(site_url) + "branch_time.cfc?method=branchtime&branchid=" + bid;


  StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {

     @Override
     public void onResponse(String response) {

         String MON_O = "";
         String TUE_O = "";
         String WED_O = "";


      try {
     JSONObject jsonObject = new JSONObject(response);
     JSONArray result = jsonObject.getJSONArray("DATA");

    final int numberOfItemsInBranch = result.length();

    for (int i = 0; i < numberOfItemsInBranch; i++) {
    JSONArray companyData = result.optJSONArray(i);

     MON_O = companyData.getString(3);
     TUE_O = companyData.getString(4);
     WED_O = companyData.getString(5);

      }
    } catch (Exception e) {
       e.printStackTrace();
      }
    }
 },
  new Response.ErrorListener() {
       @Override
     public void onErrorResponse(VolleyError error) {
     Toast.makeText(context, "Sorry, couldn't fetch business hours for" + companyTradeName + "Please try again later.", Toast.LENGTH_SHORT).show();

         });

    RequestQueue requestQueue = Volley.newRequestQueue(context);
      requestQueue.add(stringRequest);
我面临的问题是,当我在response方法中为文本视图设置文本时,它只显示具有多个分支机构的公司的上一个文本视图中的数据

如果我在requestQueue.add(stringRequest)之后设置数据;我得到的响应为空

我不想在这里使用回调。有没有其他方法可以做到这一点。请帮帮我,因为我已经被困在这几个星期了。 我已经通过了很多链接,比如

还有其他几个链接,但无法修复我的问题。请帮忙

编辑:

来自服务器的JSON响应

{"COLUMNS":  ["TIMEID","BRANCHID","COMPANYID","MON_O","TUE_O","WED_O","THU_O","FRI_O","SAT_O","SUN_O","MON_C","TUE_C","WED_C","THU_C","FRI_C","SAT_C","SUN_C","CREATDATE"],"DATA":[[507,1202,1187,"08:00","08:00","08:00","08:00","08:00","Closed","Closed","16:30","16:30","16:30","16:30","16:30","Closed","Closed","June, 02 2017 13:18:42"]]}
这里的问题是服务器的响应很好,但是当我循环数据时,只有最后一个值得到更新。有没有办法在不使用回调的情况下在外部使用响应方法的结果。如果我从response方法中获得响应值,我认为它可以解决我的问题


注意:我不能在这里使用listview。我所拥有的全部是一组7个文本视图,它们在多个分支的情况下循环。

如果您想要一个好的解释和使用截击请求,在哪里设置文本,即timeStatus.setText(MON_O);。。内线回应还是外线回应?我从截击中得到了回应。唯一的问题是我想在onResponse方法之外使用该响应。@Raghavendra我想在onResponse之外设置它。只有在正确获得响应时才能设置它。要么把所有的东西都放在。。在一个方法中,并在onresponsei中调用该方法,如果您想要一个好的解释并使用volleyRequest,则在其中设置文本,即timeStatus.setText(MON_O);。。内线回应还是外线回应?我从截击中得到了回应。唯一的问题是我想在onResponse方法之外使用该响应。@Raghavendra我想在onResponse之外设置它。只有在正确获得响应时才能设置它。要么把所有的东西都放在。。在一个方法中,并在onResponse中调用该方法
{"COLUMNS":  ["TIMEID","BRANCHID","COMPANYID","MON_O","TUE_O","WED_O","THU_O","FRI_O","SAT_O","SUN_O","MON_C","TUE_C","WED_C","THU_C","FRI_C","SAT_C","SUN_C","CREATDATE"],"DATA":[[507,1202,1187,"08:00","08:00","08:00","08:00","08:00","Closed","Closed","16:30","16:30","16:30","16:30","16:30","Closed","Closed","June, 02 2017 13:18:42"]]}