Nous travaillons actuellement avec des vues de liste à l'université. Mon professeur nous a donné une application simple qui affiche les messages dans une liste et lorsque l'utilisateur en sélectionne un, il affiche le contenu du message dans une nouvelle activité. Je comprends à peu près tout ce qui se passe mais il y a quelques zones grises que je veux éclaircir! Fondamentalement, je me demande ce que fait cette section du code?Android ListView Layout inflat
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.inbox_row, null);
}
Cette méthode est située dans une classe qui étend ArrayAdapter. Ai-je raison de penser que c'est une forme de recyclage? pour quand les vues vont et viennent sur l'écran? ....
Toute aide est très appréciée. Merci.
http://www.youtube.com/watch?v=wDBM6wVEO70. Jetez un oeil sur le lien. Votre question est probablement répondue. – Raghunandan
Si vous avez trois éléments dans votre liste, et qu'il y a de l'espace sur l'écran pour trois lignes dans votre ListView, getView() sera appelé trois fois avec une vue null pour créer ces trois lignes. Vous ne pouvez pas recycler une ligne actuellement utilisée. – Raghunandan
Ok, je vois, et est-ce que l'inflateur de mise en page place fondamentalement les vues sur la liste où il est dit v = vi.inflate (.layout.inbox_row, null)? – Javacadabra