¿Cómo puedo agregar un ImageView como un encabezado ListView?
¿Puede alguien ayudarme a averiguar cómo agregar un ImageView como un encabezado a un ListView?
Mi código está aquí:
- ¿Cómo establecer el menú de contexto específico en función de qué elemento se presiona de largo en un ListActivity?
- Después de buscar elementos de ListView en Android, siempre abra el primer elemento de ListView (Issue)
- Lista de desplazamiento infinito de Android en ambas direcciones
- Cómo agregar divisores entre los elementos deshabilitados en ListView? - Lollipop
- ¿Cómo puedo añadir una vista de pie de página a una lista secundaria en una lista de extensibilidadListActivity?
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); View snapshot = inflater.inflate(R.layout.map_snapshot, null); ListView channelsList = (ListView) findViewById(R.id.channelsList); channelsList.addHeaderView(snapshot);
Por ahora no muestra nada.
- Obtener iconos de aplicaciones que se ejecutan en el dispositivo
- Relleno ListView en desplazamiento
- ViewRootImpl: ViewPostImeInputStage processPointer 0 en OnItemClick de Listview en android
- El tipo de escala ImageView no funciona en la actividad de la lista
- Agregue varios textViews (de anchos variables) en relativeLayout uno tras otro
- ListView personalizado para AlertDialog
- OnItemClickListener no funciona con el elemento ListView que contiene el botón
- Gran número de TextViews un éxito de rendimiento? ¿Debo cambiar a ListView en lugar de usar Scrollview?
Intente inflar su vista de encabezado pasando el parámetro padre (ListView) como parámetro:
ListView channelsList = (ListView) findViewById(R.id.channelsList); View snapshot = inflater.inflate(R.layout.map_snapshot, channelList, false);
A continuación, sólo tiene que añadirlo a ListView:
channelsList.addHeaderView(snapshot);
Tratar:
ListView channelsList = (ListView) findViewById(R.id.channelsList); LayoutInflater inflater = getLayoutInflater(); ViewGroup header = (ViewGroup)inflater.inflate(R.layout.map_snapshot, channelsList , false); channelsList .addHeaderView(header, null, false);
En el diseño map_snapshot, debes tener el diseño de los padres como aquí he tomado Linear Layout también tomar eso.
ListView channelsList = (ListView) findViewById(R.id.channelsList); LinearLayout headerView = (LinearLayout) getLayoutInflater().inflate(R.layout.map_snapshot, null); listView.addHeaderView(headerView);
Si desea agregar vistas en el diseño:
TextView mUsername=(TextView) headerView.findViewById(R.id.user_name);
Puede utilizar CommonsWare MergeAdapter o SectionedListAdapter . Con esta biblioteca puede utilizar cualquier View
como encabezado en su Listview
. Vea esta pregunta y respuesta aceptada para más información.
- Configurar el tono de llamada de mi carpeta sin procesar en android
- No se puede detectar la compatibilidad del dispositivo. Seleccione un dispositivo de destino