ExpandableListView no reacciona y recibe ningún clic

Me encontré con varios problemas cuando intento insertar una lista expandible en una actividad existente (que no se deriva de ExpandalbleListActivity).

La lista se muestra como se describe en mi diseño XML, pero no reacciona cuando intento hacer clic / ampliarlo.

Para las pruebas i insertó un botón por encima de la lista y recibe el clic. La lista de sí mismo NO dice clickable = false.

Código para la lista expandible:

<ExpandableListView android:id="@+id/h_Zzwa_activity_listView" android:layout_width="match_parent" android:layout_height="wrap_content" android:groupIndicator="@color/transparent" android:clickable="true"> </ExpandableListView> 

El código para inicializar la lista:

 this.m_adapter = new HZzwaListAdapter(this, m_requests); listZzwa = (ExpandableListView) findViewById(R.id.h_Zzwa_activity_listView); listZzwa.setAdapter(this.m_adapter) 

El adaptador (que se inicia y el grupo .. se llama)

 public class HZzwaListAdapter extends BaseExpandableListAdapter { private List<HMyMessage> items; private Context myContext; public HZzwaListAdapter(Context context) { myContext = context; } public HZzwaListAdapter(Context context, List<HMyMessage> items) { myContext = context; this.items = items; } @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = (LayoutInflater) myContext .getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.h_Zzwa_list_subitem, null); } HMyMessage message = items.get(childPosition); if (message != null) { TextView tvPlayerName = (TextView) convertView .findViewById(R.id.h_Zzwalistitem_info_signText); tvPlayerName.setText(message.info.getSign()); } return convertView; } @Override public int getChildrenCount(int groupPosition) { return 1; } @Override public Object getGroup(int groupPosition) { return null; } @Override public int getGroupCount() { return items.size(); } @Override public long getGroupId(int groupPosition) { return groupPosition; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = (LayoutInflater) myContext .getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater .inflate(R.layout.h_machching_list_item, null); } // Get item and set it into the view HMyMessage plan = (HMyMessage) items.get(groupPosition); if (plan != null) { TextView pname = (TextView) convertView .findViewById(R.id.h_Zzwalistitem_pname); TextView pF = (TextView) convertView .findViewById(R.id.h_Zzwalistitem_pText); if (pname != null) { pname.setText(plan.requester.getName()); } if (pF != null) { pF.setText(plan.p + " unit "); } } return convertView; } @Override public boolean hasStableIds() { return false; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } @Override public Object getChild(int groupPosition, int childPosition) { // TODO Auto-generated method stub return null; } @Override public long getChildId(int groupPosition, int childPosition) { // TODO Auto-generated method stub return 0; } } 

Incluso cuando establezco un listener para el evento click o listItemClick, nada sucede.

¿Por qué? Lo mismo funciona muy bien con una lista habitual: /

Gracias

Por favor, agregue el diseño de niño y grupo. Con listview, hay un problema similar que listview no reciba onItemClick cuando el elemento de listview tiene botón . He encontrado este problema antes entonces debo implementar onclick para cada artículo en el adaptador. Revise este artículo ListView no responde a OnItemClickListener y problema 3414 ListView no recibe OnItemClick / OnItemLongClick para los artículos con el contenido clickable o focusable

EDIT: Poner android:focusable="false" para la vista Button o la vista EditText .

Usted necesita utilizar los oyentes apropiados para una lista extensible … No son iguales que para una lista normal.

Ejemplo:

 lv.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { // Your code for click action here. return true; } }); 

También hay un OnGroupClickListener similar.

Para obtener más información, consulte los documentos

Funcionó después de que creé un nuevo group.xml y lo usé en vez del existente

I usted está utilizando algunos componentes clickable en su opinión del padre (como la caja de cheque, ToggleButton, ImageButton …) entonces el acontecimiento del tecleo no es encendido.

Sólo puede establecer en su adaptador, en getGroupView , haga clic en el oyente para convertirView.

Sé que esto es una vieja pregunta, pero recibí el mismo problema de mi programa últimamente. My ExpandableListView no respondió y haga clic en eventos para los clics de grupo. Así que en lugar de implementar ExpandableListView.OnItemClickListener, implementé ExpandableListView.OnGroupClickListener y funcionó como encanto. Espero que esto ayude a alguien que recieves este problema más adelante.

Añadir android:descendantFocusability="blocksDescendants" al diseño de base de lo que esté inflando que ya no está recibiendo los eventos táctiles como debería.

  • Detectar si el contenido de EditText fue modificado por el usuario o por programa?
  • Listas ordenadas dentro de un Android TextView
  • Android: ¿Cómo lograr el efecto de resplandor cuando presiona un elemento de lista con mucho tiempo?
  • Convertir la lista de Java a la matriz de Javascript
  • Android Cómo saber qué casilla de verificación está seleccionada
  • Android: ¿Cómo mostrar imágenes desde un ListView?
  • ListVIew en Google Glass
  • Lista sin fin de Android
  • Obtener la lista de lugares WiFi disponibles
  • Cómo mostrar la lista de alertas de notificación una por una de la actividad?
  • ¿Cómo inicio un intento de un OnClickListener
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.