Optimizar el rendimiento de la vista de lista Android

Tengo un listView (vertical) y cada elemento de lista tiene una vista de lista horizontal (horizontal).

Pero el problema es cuando hago la scrollview horizontal en la fila la lista vertical también está llamando a getView () …

Por lo tanto, hay un gran éxito de rendimiento .. Por lo tanto, cualquiera puede decirme una mejor solución a la misma ..

public class GridViewAdapter extends BaseAdapter { List<List<Hotel>> gridDatasource; Context mContext; public GridViewAdapter(List<List<Hotel>> gridDatasource, Context context) { this.gridDatasource = gridDatasource; this.mContext = context; } public void setGridDatasource(List<List<Hotel>> gridDatasource) { this.gridDatasource = gridDatasource; } @Override public int getCount() { if (gridDatasource == null) { return 0; } return gridDatasource.size(); } @Override public Object getItem(int position) { return gridDatasource.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { GridViewHolder holder; if (convertView == null) { LayoutInflater inflater = (LayoutInflater) mContext .getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.gridview_table_cell, null); holder = new GridViewHolder(); holder.headerView = (TextView) convertView .findViewById(R.id.gridViewRowHeader); holder.listView = (HorizontalListView) convertView .findViewById(R.id.gridViewHorizontalListView); convertView.setTag(holder); } else { holder = (GridViewHolder) convertView.getTag(); Log.d("TAG", "Reaching Here"); } holder.headerView.setText("Hello From Sandeep"); HorizontalListViewAdapter adapter = new HorizontalListViewAdapter( mContext, gridDatasource.get(position)); holder.listView.setAdapter(adapter); return convertView; } } static class GridViewHolder { TextView headerView; HorizontalListView listView; } public class HorizontalListViewAdapter extends BaseAdapter { Context mContext; List<Hotel> mHotels; public HorizontalListViewAdapter(Context context, List<Hotel> hotels) { this.mContext = context; this.mHotels = hotels; } @Override public int getCount() { if (mHotels == null) { return 0; } return mHotels.size(); } @Override public Object getItem(int position) { return mHotels.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { HotelCell cell = (HotelCell) convertView; if (cell == null) { cell = new HotelCell(mContext); } else { Log.d("TAG", "Reached here 2"); } cell.setHotel(mHotels.get(position)); cell.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(mContext, HotelDetailActivity.class); intent.putExtra("DATA", ((HotelCell) v).getHotel()); startActivity(intent); } }); cell.setPadding(0, 0, 10, 0); return cell; } } 

Estimado yo sugiero intentar mi este código

 public View getView(final int position, View convertView, ViewGroup parent) { View v = convertView; ViewHolder holder; if (v == null) { v = inflater.inflate(R.layout.custom_image_layout, null); holder = new ViewHolder(); holder.txtFileName = (TextView) v.findViewById(R.id.txtFileName); holder.imageView = (ImageView) v.findViewById(R.id.imgView); v.setTag(holder); } else { holder = (ViewHolder) v.getTag(); } holder.imageView.setImageBitmap(bm); holder.txtFileName.setText(""+nameoffile); return v; } static class ViewHolder { public ImageView imageView; public TextView txtFileName; } 

Utilizar la clase de titular

  • ListView setOnItemClickListener no funciona en la vista de lista personalizada
  • FindViewById vs Ver patrón de soporte en el adaptador ListView
  • ListView "volver" al desplazarse
  • Actividad refrescante al recibir la notificación de gcm push
  • Haga clic en ImageView dentro de ListView ListItem y obtenga la posición?
  • Getview Llamado varias veces en android
  • Agregando Viewpager como un encabezado a un listView
  • La vista de pie de página para ListView no se muestra en 1 dispositivo, pero está en otro?
  • Uso de ListView: ¿Cómo agregar una vista de encabezado?
  • El adaptador de vista de lista no funciona, getView no se llama.
  • Cómo agregar un TextView dinámicamente en los elementos ListView Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.