Android: modèle de ViewHolder et différents types de lignes?
-
21-09-2019 - |
Question
ViewHolder motif améliore la fréquence d'images de défilement ListView, comme on le voit dans l'exemple suivant: https: // développeur. android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html
Est-il possible de garder ce modèle tout en utilisant différents types de vues pour différentes lignes?
En d'autres termes, est-il possible de faire quelque chose comme:
public View getView(int position, View view, ViewGroup parent) {
// calculate viewID here
if (view == null || *view is not null but was created from different XML than viewID* ) {
view = mInflater.inflate(viewId, null);
La solution
Oui, mais il est préférable de passer outre getViewTypeCount()
et getItemViewType()
dans votre adaptateur. Cela enseigner le pool d'objets d'Android à la main que vous une ligne du type approprié de retour dans getView()
.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow