2017-07-26 2 views
1

J'ai une application qui montre une liste de plusieurs entreprises avec leurs branches. J'utilise volley pour aller chercher et afficher les heures d'ouverture de chaque entreprise. Les heures d'ouverture sont affichées correctement lorsqu'il n'y a qu'une seule succursale, mais dans le cas des sociétés ayant plusieurs succursales, les heures d'ouverture sont vides sauf pour la dernière. J'obtiens tous les détails corrects sur l'enregistrement mais pas sur la mise en page.Plusieurs textviews affichant la réponse Volley obtiennent vierges: Android

Ci-dessous mon code pour la demande de volley,

public void getData(final RelativeLayout timeLayoutCollapse, final RelativeLayout timeLayout, final int) { 


    //URL for fetching the branch time from the server. 
    String url = context.getString(site_url) + "branch_time.cfc?method=branchtime&branchid=" + dBranchID; 
    Log.d(url, "this is urlllll"); 

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

      @Override 
      public void onResponse(String response) { 
       // Log.d(String.valueOf(response), "reqqqqqqqqq"); 


       showJSON(response, timeLayoutCollapse, timeLayout); 
      } 
     }, 
       new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
         timeLayout.setVisibility(View.GONE); 
        } 
       }); 

     RequestQueue requestQueue = Volley.newRequestQueue(context); 
     requestQueue.add(stringRequest); 
} 

J'appelle la méthode getData() à partir,

final int size = branchesList.size(); 
     if (size >= 2) { 
companyName.setText(branchesList.get(i).getBranchName()); 
businessHours.setText(branchesList.get(i).getBranchName() + " Business Hours:"); 
    Log.d(String.valueOf(bid), "BARCHIDDDD"); 
    Log.d(branchesList.get(i).getBranchName(), "LIST BRANCH NEWWWWWWW"); 
    timeLayoutCollapse.setVisibility(View.GONE); 
    getData(timeLayoutCollapse, timeLayout); 
} 

L'analyse syntaxique JSON et l'affichage se fait dans,

public void showJSON(final String response, RelativeLayout timeLayoutCollapse, RelativeLayout timeLayout) { 

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

     final int numberOfItemsInBranch = result.length(); 

     Log.d(String.valueOf(result),"checcccckkkkkk"); 

      timeStatus.setText("business hours are "); 
      currentStatus.setText("unknown"); 

Les données en journaux est tel que,

D/0: LOPPPPPPPPPP 
D/AAA Branch: LIST BRANCH NAMEEEEEEE 
D/BBB: locaaattiiooon 
D/0: this is url with BRANCHH 
D/http://the url/FOLDER/branch_time.cfc?method=branchtime&branchid=0: this is urlllll 
D/1758: BARCHIDDDD 
D/CCCCCC: LIST BRANCH NEWWWWWWW 
D/1758: this is url with BRANCHH 
D/http://the url/FOLDER/branch_time.cfc?method=branchtime&branchid=1758: this is url 

Les données du journal pour la réponse du serveur,

[D/[[670,1758,1671,"08:00","08:00","08:00","08:00","08:00","09:00","Closed","17:00","17:00","17checcccckkkkkk 

Affichage des données dans la vue texte

 companyTime1.setText(SUN_O + '-' + SUN_C); 
     companyTime2.setText(MON_O + '-' + MON_C); 

où,

  MON_O = companyData.getString(3); 
      MON_C = companyData.getString(10); 

      SUN_O = companyData.getString(9); 
      SUN_C = companyData.getString(16); 

Je reçois tout le nécessaire les données dans les journaux mais en les affichant, les textes de textview deviennent vides. Je suis assez nouveau pour Android et ne peut pas trouver un moyen de sortir de cela. S'il vous plaît, quelqu'un peut-il aider?

+0

Où se trouve votre journal pour 'Log.d (String.valueOf (result)," checcccckkkkkk ");' ?? Pouvez-vous s'il vous plaît poster la réponse JSON? – FAT

+0

S'il vous plaît voir la modification. @FAT – devgeek

+0

D'où vous définissez des données à TextView? pouvez-vous poster un code de détails? – FAT

Répondre

0

@Deepak Vous mettez à jour les mêmes vues avec des données différentes et ainsi les dernières données de JSONArray obtient apparaissent. Vous devez l'afficher dans listView ou RecyclerView.

+0

Cela devrait être un commentaire! Vous avez assez de réputation pour publier un commentaire. – Piyush

+0

Oui Piyush vous avez raison. – Aditi

+0

Est-ce que ça compte? – Aditi