Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


ListView con varios tipos de diseño de fila – BaseAdapter no funciona correctamente en Android

Hola a continuación es mi clase para baseadapter, pero no funciona correctamente:

private static class MyBaseAdapter extends BaseAdapter { private Context context; private LayoutInflater inflater; private MyBaseAdapter(Context context, FlipViewController controller) { inflater = LayoutInflater.from(context); this.context = context; } @Override public int getCount() { return Globals.list_album.size(); } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View layout = convertView; if (convertView == null ) { if (Globals.list_album.get(position).no_of_images == 1) { layout = inflater.inflate(R.layout.single_image_adapter, null); } else if(Globals.list_album.get(position).no_of_images == 2) { layout = inflater.inflate(R.layout.two_image_adapter, null); } else if(Globals.list_album.get(position).no_of_images == 3) { layout = inflater.inflate(R.layout.three_image_adapter, null); } else if(Globals.list_album.get(position).no_of_images == 4) { layout = inflater.inflate(R.layout.four_image_adapter, null); } else if(Globals.list_album.get(position).no_of_images == 5) { layout = inflater.inflate(R.layout.five_image_adapter, null); } } return layout; } } 

Quiero cargar el diseño según el número de imágenes en Globals.list_album en cada posición. Pero no está funcionando correctamente. No funciona para no_of_images = 5 y 2, ya que tengo estos valores en la lista. Actualmente mis valores para no_of_images son 4,3,1,2 y 5. Por lo tanto, debe mostrar los diseños four_image_adapter, three_image_adapter, one_image_adapter, two_image_adapter y five_image_adapter. Pero muestra cuatro_image_adapter, three_image_adapter, one_image_adapter, four_image_adapter y three_image_adapter. Todos los diseños tienen vistas de imágenes según el número de imágenes. ¿Alguien me dirá por favor qué tengo que hacer?

  • Mostrar el estado del último elemento de la lista en un ListView con ViewHolder
  • NullPointerException Advertencia sobre getView () dentro del método onActivityCreated / onStart / onViewCreated
  • One Solution collect form web for “ListView con varios tipos de diseño de fila – BaseAdapter no funciona correctamente en Android”

    Dado que necesita diferentes diseños para diferentes filas, utilice los métodos siguientes

    GetViewTypeCount () – devuelve la información de cuántos tipos de filas.

    GetItemViewType (int position) – devuelve la información sobre el tipo de disposición que debe usar en función de la posición

    Utilizando getItemViewType puede definir el diseño que necesita utilizar.

    Me gusta esto

     public static final int TYPE_1 = 1; public static final int TYPE_2 = 2; public int getItemTypeCount(){ return 5; } public int getItemType(int position){ // Your if else code and return type ( TYPE_1 to TYPE_5 ) } public View getView(int position, View convertView, ViewGroup parent){ // Return the right kind of view based on getItemType(position) int type = getItemType(position); if(type == TYPE_1){ // create (or reuse) TYPE_1 view } else if() { }...... return myView; } 

    Muestras

    http://android.amberfog.com/?p=296

    http://www.survivingwithandroid.com/2014/08/android-listview-with-multiple-row.html

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.