2010-10-12 8 views
1

j'ai un problème avec ExpandableListView: dans mon application j'utiliser un ExpandableListView et je remplirai avec mon adaptateur "class MyExpandableListAdapter extends BaseExpandableListAdapter". Dans la méthodeAndroid ExpandableListView la portée des variables

public View getChildView(int groupPosition, int childPosition, boolean isLastChild, view convertView, ViewGroup parent) { 
     if (groupPosition == 0) { 
      SearchView search = new SearchView(ApplicationPlaceActivity.this); 
      return search; 
     } else if (groupPosition == 1) { 
      MyUpdates myUp = new MyUpdates(ApplicationPlaceActivity.this); 
      return myUp; 
     } 
    } 

Ce code fonctionne très bien, mais il est pas bon pour moi parce que chaque fois que je crée une nouvelle instance de SearchView et MyUpdate. Je fais "SearchView search" et "MyUpdates myUp" comme variables globales, mais cela crée des problèmes: après un moment, la mise en page ne répond pas sur l'événement tactile, ou mieux il répond à l'événement tactile suivant. donc je suis revenu avec le code original affiché ici, mais ce n'est pas bon pour moi. toute suggestion? merci

Répondre

1

Essayez de trouver un moyen de ne pas créer une nouvelle vue à chaque fois. Je ne comprends pas vraiment pourquoi vous devriez le faire. Aussi pourquoi auriez-vous besoin de le stocker globalement? Vous ne devriez envisager de stocker qu'un identifiant tel que la position ou l'identifiant.

Espérons que ça aide.