2010-08-14 15 views
8

que acaba de intentar la corriente de muestra Google para ExpandableListiew:muestra ExpandableListView de Google

Esta muestra parece muy simple y fácil de usar, pero lo que me gustaría hacer es decir que una de las categorías tiene ningún niño. Quité a todos los niños pero el problema es que la flecha todavía aparece en esta línea actual.

Por ejemplo, imagine que elimino todos "Nombres de gato", la flecha sigue allí y cuando hago clic en ella, la flecha simplemente cambia. ¿Cómo eliminar esta flecha y lanzar una actividad en su lugar?

Respuesta

12

Si usted está hablando de la flecha que se utiliza para colapsar/expandir la lista a continuación, puede eliminarlo mediante el uso de setGroupIndicator()

en la actividad puede llamar

getExpandableListView().setGroupIndicator(null); 

que se eliminar la flecha permanentemente sin embargo. Si solo desea ocultarlo si la lista está vacía, puede hacerlo a través de atributos xml como this

Para iniciar una actividad cuando la lista se expande/contrae, puede anular onGroupExpanded (o contraer) en su implementación de ListAdapter y utilizar para activar su actividad

2

En general, si desea actualizar un área específica de su actividad cuando regrese de otra actividad; tienes que escribir en el método onResume().

Pasos: 1 - En la actividad que desea que sea refrescado, reemplazar el método onResume():

@Override 
protected void onResume() { 
    super.onResume(); 
    // TODO: PUT YOUR REFRESH CODE IN HERE 
} 

2- Usted tendrá que actualizar su adaptador ampliable.

le sugiero que tome el mismo código que utilizó para crear instancias de su lista ampliable y ponerlo de nuevo, como sigue:

SimpleExpandableListAdapter expandableListAdapter = 
    new SimpleExpandableListAdapter(
     this, 
     YourPrentsList, // List of your parent 
     R.layout.parents_layout, // Layout for the Parents 
     new String[] { "groupKey" }, // Key in the Group Data maps to display 
     new int[] { 1 },   
     childrenList, // List of the children 
     R.layout.childs_layout, // Layout of the children 
     new String[] { "keys"}, 
     new int[] { 1} 
    ); 
setListAdapter(expandableListAdapter); 

espero que esto resuelve su problema ... Gracias ,

Mohamed .

+0

Su respuesta lamentablemente no está relacionada con el tema. Estaba pidiendo que se elimine la flecha cuando un padre no tiene hijos ... –

+1

@ Profete162, hace un tiempo que no respondía a esta pregunta, cuando leía una pregunta y respondía ahora no sé en qué estaba pensando ... lo siento si envié spam a su pregunta hombre. ¿Solucionaste el problema de todos modos? –

+0

¡No lo lamente, trataste de ayudarme! Desafortunadamente, ¡también ha pasado un tiempo para mí! Como no pude encontrar una respuesta, utilicé un Alertdialog y un ListView para mostrar el niño, si hay alguno disponible. Si no hay un hijo, solo voy a la siguiente actividad. –

Cuestiones relacionadas