primordial de l'Adaptateur.getView
Je suis nouveau sur android programmation et à faire les premiers pas avec des Adaptateurs (pour un ListView
).
Substitution de la Adapter.getView
je vois souvent des choses comme ceci:
public View getView(int position, View convertView, ViewGroup parent) {
View itemView = null;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) parent.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
itemView = inflater.inflate(R.layout.table_row, null);
} else {
itemView = convertView;
}
//play with itemView
return itemView;
}
Ma question est ce qui parle contre cette:
public View getView(int position, View convertView, ViewGroup parent) {
View itemView = super(position, convertView, parent);
//play with itemView
return itemView;
}
Cela semble fonctionner pour moi, mais je suis sûr qu'il y a un gros point qui me manque 😀
Merci pour la lecture et désolé pour mon mauvais anglais ...
OriginalL'auteur made | 2012-09-15
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
si seulement vous dérivant de "prêt à utiliser" adaptateurs (pas
BaseAdapter
), commeSimpleAdapter
, ouArrayAdapter
, comme ils déjà ont à leur mise en œuvre pour lagetView()
.Avoir un regard sur eux: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/ArrayAdapter.java#361 pour la ArrayAdapter, et
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/SimpleAdapter.java#113 pour SimpleAdapter.
Si vous dérivez de
BaseAdapter
, vous devrez mettre en œuvre l'ensemble de la méthode, comme vous l'avez décrit dans le premier exemple, parce qu'il ne l'a pas sorti de la boîte: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.4_r2.1/android/widget/BaseAdapter.java#BaseAdapterOriginalL'auteur Vasily Sochinsky
La
getView(..)
-méthode de la Carte peuvent être multiples façons. La seule question est de savoir lequel est le plus efficace?Un article intéressant à lire et à vous faire comprendre la liste plus détaillée: http://lucasr.org/2012/04/05/performance-tips-for-androids-listview/
OriginalL'auteur DroidBender
Si vous voulez dire que ce morceau de code:
ne semble pas nécessaire pour vous: ce morceau de code permet Android pour créer un relativement petit nombre de cellules (égal au nombre de cellules qui sont visibles sur votre écran +-), et puis "recycler" ces cellules - les utiliser encore et encore pendant que l'utilisateur fait défiler la liste, au lieu de créer une cellule pour chaque objet dans votre tableau.
Cela vous aidera avec:
D'économiser la mémoire - parce que vous ne créez pas d'afficher pour chaque élément dans votre tableau
Économie d'utilisation de l'UC - création d'un objet de vue de fichier xml ("gonfler") est relativement cher et il faut le faire pour chaque élément de matrice pourrait s'étouffer votre thread d'INTERFACE utilisateur
OriginalL'auteur ofirbt