Modification de l'emplacement de l'indicateur dans ExpandableListView à l'origine des problèmes
Je suis en train de configurer mon indicateur à côté de la textview, mais j'ai juste ne peut pas obtenir le bon code pour le faire.
XML:
<TextView
android:id="@+id/lblListHeader"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
android:textColor="#000000"
android:textSize="17dp" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/lblListHeader"
android:src="@drawable/custom_arrow" />
C'est la seule pile de code que j'ai trouvé à étudier, mais je ne peux pas le faire fonctionner:
//inside getGropView method
View v;
if (convertView == null) {
v = newGroupView(isExpanded, parent);
} else {
v = convertView;
}
bindView(v, mGroupData.get(groupPosition), mGroupFrom, mGroupTo);
((ImageView) v.findViewById(R.id.videos_group_indicator))
.setImageResource(isExpanded?R.drawable.videos_chevron_expanded:R.drawable.videos_chevron_collapsed);
return v;
Le principal problème est qu'il "souligne" la newGroupView méthode etc. parce que je n'ai pas de méthode de ce genre et il n'est pas mentionné comment le créer dans le exemple que je regardais.
Aussi, quand j'ai la solution, quelqu'un pourrait s'il vous plaît essayer de l'expliquer le code pour moi? Je l'ai lu grâce à un beaucoup de temps et je ne peux pas le faire moi-même pour le comprendre, je suis un débutant.
OriginalL'auteur Guy | 2013-09-22
Vous devez vous connecter pour publier un commentaire.
Voici un exemple de la coutume extensible affichage de la liste:
Ce que vous voulez voir si vous appliquez ce code dans votre nouveau projet:
créer ce code dans l'activité
ajouter expandableListView en main.xml
créer une classe adaptateur
les noms des méthodes et des paramètres est très instructif. méthodes getGroupView et getChildView retourne Vue pour p
parents
etchildren
en conséquence. en utilisant le paramètre isExpanded dans la méthode getGroupView, ca nous a, par exemple, changer l'arrière du groupe dans les différents états. à l'aide de LayoutInflater nous utilisons une mise en page personnalisée de notre liste.group_view.xml
child_view.xml
dans la vue enfant, nous avons ajouté un bouton, dans la méthode d'adaptateur getChildView le contrôle de sa pressé. de la même manière, nous pouvons ajouter des boutons et d'autres éléments dans group_view.xml .
aussi, on peut épingler les auditeurs à notre liste.
•OnChildClickListener — appuyez sur un élément
•OnGroupCollapseListener – effondrement de groupe
•OnGroupExpandListener – groupe en expansion
•OnGroupClickListener – appuyez sur le groupe
regardons maintenant groupIndicater - indicateur de l'état de groupe. c'est le placement indiqué dans main.xml avec les paramètres indicatorLeft, indicatorRigh - à gauche et à droite de la bordure. par défaut, l'indicateur placé sur le côté gauche, ce qui n'est pas si cool.
on peut aussi ajouter des images personnalisées, pour cela, nous devons ajouter indicator.xml dans le dossier drawable avec ce code.
où imageOpen est élargi de groupe
imageClose est effondré groupe
la prochaine fois, nous devons ajouter une ligne pour les paramètres de notre liste dans main.xml
OriginalL'auteur Alexander.Iljushkin