Android ExpandableListView largo grupo haga clic en el oyente evitar la expansión
Utilizo un ExpandableListView
en mi aplicación de Android y quiero ejecutar una acción si el usuario hace clic largo en el elemento de grupo, así que OnLongClickListener
un OnLongClickListener
en mi extensión de BaseExpandableListAdapter
. El oyente funciona como aspectado pero los elementos secundarios no se expanden más. ¿Algunas ideas?
public class ConnectionAdapter extends BaseExpandableListAdapter { ... public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { // convertView is a LinearLayout convertView.setOnLongClickListener(new OnLongClickListener() { public boolean onLongClick(View v) { // my action here return true; } }); } ... }
- Android ExpandableListView y base de datos SQLite
- ExpandableListView expandir sólo en un botón específico?
- Creación de un RecyclerView ampliable
- ExpandableListView y el NavigationDrawer
- ¿Cómo puedo replicar este patrón de interfaz de usuario: haga clic en el elemento ListView y expanda debajo de él?
- ExpandableListView muestra el indicador para grupos sin hijos
- Nueva lista expandible altamente personalizable
- Establecer bordes para un elemento de grupo expandido mediante ExpandableListView
- Botón en lista desplegable android
- Cómo poner un botón dentro de un elemento de grupo en un ExpandableListView?
- Android ExpandableListView Parent con botón
- ¿Cómo puedo quitar el botón de ExpandableListView?
- ExpandableListView groupView checkbox unticking otras vistas de grupo
La razón por la que su código no procesa otros eventos 'onClick' es porque está pasando un 'true' en su regreso. Si indica que se trató un evento, el sistema operativo deja de intentar procesar más eventos. Para que se procese este evento y también se expanda, debe cambiar la devolución a false en lugar de true
Puede establecer setOnItemLongClickListener en su lista expandible. ExpandableListView.PACKED_POSITION_TYPE_GROUP es el id de un grupo, cámbielo a ExpandableListView.PACKED_POSITION_TYPE_CHILD y puede manipularlo con longclicks en grupos.
Algo como eso:
pager_income = (ExpandableListView) findViewById(R.id.income_scroll); pager_income.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { if (ExpandableListView.getPackedPositionType(id) == ExpandableListView.PACKED_POSITION_TYPE_GROUP) { // Your code with group long click return true; } return false; } });