Estoy tratando de programar una interfaz de Android que utiliza una lista ampliable en el lado y un fragmento en el otro lado para que pueda cargar diferentes recursos haciendo clic en los elementos secundarios de la lista desplegable. Pero desafortunadamente no puedo encontrar buenos tutoriales sobre esta lista en ninguna parte. Sí, he buscado en las demostraciones de API y he hecho una lista normal con un BaseExpandableListAdapter, pero aun así, entender esa lista es bastante difícil sin un buen tutorial, ¿tiene alguna buena información o información que pueda verificar?Android ExpandableListView - Buscando un tutorial
Respuesta
puede encontrar ejemplo de trabajo de la vista de lista ampliable mediante enlaces siguientes:
para hacer clic en el niño, puede manejar de esta manera.
getExpandableListView().setOnChildClickListener(new OnChildClickListener() {
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
// your code...
}
});
Espero que esto te ayude. Gracias ..
Crear lista de elementos
List<ParentItem> itemList = new ArrayList<ParentItem>();
ParentItem parent1 = new ParentItem();
parent1.getChildItemList().add(new ChildItem());
parent1.getChildItemList().add(new ChildItem());
parent1.getChildItemList().add(new ChildItem());
ParentItem parent2 = new ParentItem();
parent2.getChildItemList().add(new ChildItem());
parent2.getChildItemList().add(new ChildItem());
parent2.getChildItemList().add(new ChildItem());
itemList.add(parent1);
itemList.add(parent2);
ExpandableListViewAdapter adapter = new ExpandableListViewAdapter(context, itemList);
de objetos de datos
public class ParentItem {
private List<ChildItem> childItemList;
public ParentItem() {
childItemList = new ArrayList<ChildItem>();
}
public List<ChildItem> getChildItemList() {
return childItemList;
}
}
public class ChildItem {
// filll with your data
}
adaptador
public class ExpandableListViewAdapter extends BaseExpandableListAdapter {
private static final class ViewHolder {
TextView textLabel;
}
private final List<ParentItem> itemList;
private final LayoutInflater inflater;
public ExpandableListViewAdapter(Context context, List<ParentItem> itemList) {
this.inflater = LayoutInflater.from(context);
this.itemList = itemList;
}
@Override
public ChildItem getChild(int groupPosition, int childPosition) {
return itemList.get(groupPosition).getChildItemList().get(childPosition);
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public int getChildrenCount(int groupPosition) {
return itemList.get(groupPosition).getChildItemList().size();
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView,
final ViewGroup parent) {
View resultView = convertView;
ViewHolder holder;
if (resultView == null) {
resultView = inflater.inflate(android.R.layout.test_list_item, null); //TODO change layout id
holder = new ViewHolder();
holder.textLabel = (TextView) resultView.findViewById(android.R.id.title); //TODO change view id
resultView.setTag(holder);
} else {
holder = (ViewHolder) resultView.getTag();
}
final ChildItem item = getChild(groupPosition, childPosition);
holder.textLabel.setText(item.toString());
return resultView;
}
@Override
public ParentItem getGroup(int groupPosition) {
return itemList.get(groupPosition);
}
@Override
public int getGroupCount() {
return itemList.size();
}
@Override
public long getGroupId(final int groupPosition) {
return groupPosition;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View theConvertView, ViewGroup parent) {
View resultView = theConvertView;
ViewHolder holder;
if (resultView == null) {
resultView = inflater.inflate(android.R.layout.test_list_item, null); //TODO change layout id
holder = new ViewHolder();
holder.textLabel = (TextView) resultView.findViewById(android.R.id.title); //TODO change view id
resultView.setTag(holder);
} else {
holder = (ViewHolder) resultView.getTag();
}
final ParentItem item = getGroup(groupPosition);
holder.textLabel.setText(item.toString());
return resultView;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
Le da
==============================
+Parent 1
==============================
-child 1.1
==============================
-child 1.2
==============================
-child 1.3
==============================
+Parent 2
==============================
-child 2.1
==============================
-child 2.2
==============================
-child 2.3
==============================
pero, ¿cómo puedo manejar el evento click en los elementos secundarios de las listas? porque ese es el problema principal con todos los tutoriales que he encontrado – DeX03
'Semi colon (;)' faltante '
Obtengo nulo 'holder.textLabel.setText (item.toString()); ', ¿Cómo lo solucionó? –
De esta manera puede manejar eventos:
getExpandableListView().setOnChildClickListener(new OnChildClickListener()
{
public boolean onChildClick(ExpandableListView parent,
View v, int groupPosition, int childPosition, long id)
{
// your code...
}
}
respuesta irrelevante .... –
- 1. Buscando un tutorial de Kinect
- 2. Buscando un buen tutorial php mysqli class
- 3. Estoy buscando un tutorial HTML limpio
- 4. Buscando un tutorial detallado de desarrollo de teclado
- 5. Android ExpandableListView padre con botón
- 6. Android ExpandableListView divisor es invisible
- 7. Android LongClickListener en elementos del grupo ExpandableListView
- 8. buscando en pantalla tutorial javascript library
- 9. ExpandableListView dentro de ExpandableListView
- 10. Buscando un tutorial de OSGi con Spring (específicamente Spring MVC)
- 11. Android Web Service Tutorial
- 12. ExpandableListView con un EditText
- 13. Android: Ocultar divisores secundarios en ExpandableListView
- 14. Android ExpandableListView posición de grupo siempre 0
- 15. Tutorial para Spinning Wheel Android?
- 16. Android ExpandableListView y base de datos SQLite
- 17. Indicador/ícono de Android ExpandableListView siempre extendido
- 18. ¿Cómo implementar Multinivel ExpandableListview en Android?
- 19. Android GEO Location Tutorial
- 20. Jni Tutorial para Android
- 21. Buscando el tutorial de GD en C/C++
- 22. Android NDK - OpenGL ES Tutorial/Bibliotecas
- 23. Android cámara vista previa tutorial
- 24. Cómo ocultar el grupo en ExpandableListView en android
- 25. Android ExpandableListView oyente de clic de grupo largo prevenir expand
- 26. Android: ClassCastException al agregar una vista de encabezado a ExpandableListView
- 27. Android: cómo cambiar la posición del indicador ExpandableListView?
- 28. Colapsar mediante programación un grupo en ExpandableListView
- 29. de varias capas ExpandableListView
- 30. Boost.Test: Buscando un Test Suite no Trivial que funcione Ejemplo/Tutorial
No puedo creer lo que estaba marcado como "no constructiva"! Fue muy constructivo, ¡y las respuestas fueron muy útiles! Gracias por publicar esta pregunta, DeX03. –