Quiero crear un custom adapterpara mi vista de lista. ¿Hay algún artículo que pueda explicarme cómo crear uno y también explicar cómo funciona?
android
listview
android-tablelayout
custom-adapter
Harsha MV
fuente
fuente

Respuestas:
Esta es una clase que había usado para mi proyecto. Necesitas tener una colección de tus artículos que quieras mostrar, en mi caso es así
<Item>. Necesita anular elView getView(int position, View convertView, ViewGroup parent)método.R.layout.itemlistrowdefine la fila de laListView.En la
MainActivitydefiniciónListViewcomo esta,fuente
Sé que esto ya ha sido respondido ... pero quería dar un ejemplo más completo.
En mi ejemplo, se llama al
ListActivityque mostrará nuestra costumbre , porque en mi proyecto esto mostrará las diferentes opciones que mi usuario puede configurar para controlar mi aplicación. Hay dos tipos de elementos de lista, un tipo de elemento de lista solo tiene un y el segundo tipo de elemento de lista solo tiene un . Puede poner los widgets que desee dentro de cada tipo de elemento de lista, pero mantuve este ejemplo simple.ListViewOptionsActivityActivityTextViewButtonEl
getItemView()método verifica qué elementos de la lista deben ser del tipo 1 o del tipo 2. De acuerdo con mis entradas estáticas que definí arriba, los primeros 5 elementos de la lista serán el tipo de elemento de la lista 1, y los últimos 5 elementos de la lista serán el tipo de elemento de la lista 2 Entonces, si compila y ejecuta esto, tendrá un elementoListViewque tiene cinco elementos que solo contienen aButton, y luego cinco elementos que solo contienen aTextView.A continuación se muestra el
Activitycódigo, el archivo xml de actividad y un archivo xml para cada tipo de elemento de lista.OptionsActivity.java:
activity_options.xml:
list_item_type_1.xml:
list_item_type2.xml:
fuente
Este código es fácil de entender.
three_horizontal_text_views_layout.xml
ThreeStrings.java
ThreeHorizontalTextViewsAdapter.java
main_layout.xml
MainActivity.java
fuente
ThreeHorizontalTextViewsAdapter.java. ¿Es lo mismo que permanecer?ActivitiesGoogle tiene un ejemplo llamado EfficientAdapter, que en mi opinión es el mejor ejemplo simple de cómo implementar adaptadores personalizados. http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html @CommonsWare ha escrito una buena explicación de los patrones utilizados en el ejemplo anterior http: // commonsware.com/Android/excerpt.pdf
fuente
Puede echar un vistazo a esta muestra en el ApiDemos oficial. Muestra cómo extenderlo
BaseAdaptery aplicarlo a aListView. Después de eso, solo mira la referenciaBaseAdaptery trata de entender qué hace cada método (incluidos los heredados) y cuándo / cómo usarlo.Además, Google es tu amigo :).
fuente
revise este enlace , de manera muy simple a través de
convertView, podemos obtener el diseño de una fila que se mostrará en la vista de lista (que es laparentView).usando la posición, puede obtener los objetos de la
List<Item>.después de eso tendremos que establecer los detalles deseados del objeto en los widgets de formulario identificados.
entonces devolverá la vista construida que se adjuntará a
parentView(que es unListView/GridView).fuente
Aquí está el recorrido completo para crear un adaptador personalizado para la vista de lista paso a paso:
https://www.caveofprogramming.com/guest-posts/custom-listview-with-imageview-and-textview-in-android.html
fuente
Modelo de datos
Adaptador de matriz
Actividad principal
row_item.xml
fuente
Un ejemplo más compacto de un adaptador personalizado (usando list array como mis datos):
Y así es como se usa:
fuente
BaseAdapteres el mejor adaptador personalizado para la vista de lista.y tiene muchas funciones como
getCount(),getView()etc.fuente
Es muy simple.
Fuente: Tutorial personalizado de ListView para Android
fuente
fuente
fuente