Je voudrais avoir tous les getDaystime() dans mon TextView, mais actuellement, seul le dernier getDaystime() est affiché. Voici ce que j'ai jusqu'à présent:

List<WeekDays> weekDaysList = place.getWeekDayList();

        if(weekDaysList.size()>0)
        {
            for(int i = 0;i<weekDaysList.size();i++)
            {
                WeekDays days = weekDaysList.get(i);
                //String openhours += days.getDaystime();
                //Log.d("WeekDaysView",days.getDaystime());
                weekDays.setText(days.getDaystime());
            }


        }

Voici le résultat de logcat:

11-23 17: 24: 55.553 32297-32297 / com.softtoll.ncf D / WeekDaysView: Lundi: 9:00 - 19:00 11-23 17: 24: 55.553 32297-32297 / com.softtoll.ncf D / WeekDaysView: Mardi: 9:00 - 19:00 11-23 17: 24: 55.553 32297-32297 / com.softtoll.ncf D / WeekDaysView: Mercredi: 9:00 - 19:00 11-23 17 : 24: 55.553 32297-32297 / com.softtoll.ncf D / WeekDaysView: jeudi: 9:00 - 19:00 11-23 17: 24: 55.553 32297-32297 / com.softtoll.ncf D / WeekDaysView: vendredi : 9:00 - 19:00 11-23 17: 24: 55.553 32297-32297 / com.softtoll.ncf J / WeekDaysView: Samedi: 9:00 - 19:00 11-23 17: 24: 55.553 32297-32297 / com.softtoll.ncf D / WeekDaysView: Dimanche: Fermé

-3
Abhijit Roy 23 nov. 2017 à 14:55

4 réponses

Meilleure réponse

Essaye ça

List<WeekDays> weekDaysList = place.getWeekDayList();

        if(weekDaysList.size()>0)
        {
            for(int i = 0;i<weekDaysList.size();i++)
            {
                WeekDays days = weekDaysList.get(i);
                //String openhours += days.getDaystime();
                //Log.d("WeekDaysView",days.getDaystime());
              weekDays.append("WeekDaysView:\n" + days.getDaystime() + "\n");
            }


        }
0
Quick learner 23 nov. 2017 à 12:02

Je suppose que votre texte est weekDays

Donc, avec weekDays.setText(days.getDaystime());, vous remplacez le texte de chaque élément. Vous voudrez probablement créer une chaîne dans la boucle for et définir le texte une fois la boucle terminée ou utiliser la méthode TextView.append().

1
chrjs 23 nov. 2017 à 11:58

C'est parce que vous utilisez la méthode TextView.setText(). Essayez d'utiliser la méthode TextView.append().

1
Goku 23 nov. 2017 à 12:01

Tu devrais utiliser append(CharSequence text)

Méthode pratique pour ajouter le texte spécifié au tampon d'affichage TextView's, en le mettant à niveau vers EDITABLE s'il n'était pas déjà modifiable.

utilisez ceci

weekDays.append(days.getDaystime()+" \n");

au lieu de cela

weekDays.setText(days.getDaystime());

OU utilisez StringBuilder

 if(weekDaysList.size()>0)
 {   
   StringBuilder myString = new StringBuilder();

   for(int i = 0;i<weekDaysList.size();i++)
      {
         WeekDays days = weekDaysList.get(i);

         myString.append(days.getDaystime()+ " \n");

       }

     weekDays.setText(myString);
}

N'oubliez pas de définir la propriété textView.setMaxLines(int lines);

1
Goku 30 nov. 2017 à 12:37
47454981