android: quitar una vista de una galería
Estoy usando una vista Galería en mi aplicación. La aplicación está diseñada para que pueda arrastrar y soltar una vista desde esa Galería.
¿Cómo puedo eliminar la vista arrastrada de la Galería?
- Mover la vista Galería a la siguiente imagen en un golpe en Android?
- Imitación del efecto "banda de goma" de iOS en la Galería de Android
- Cómo obtener el formato de imagen de las imágenes de la galería
- Cómo obtener Galley Thumbnail para la carpeta de imágenes en particular en android?
- ¿Cómo agregar una imagen a la galería del emulador en el estudio android?
- Asignación externa demasiado grande para este proceso
- Cómo evitar el espaciado en el inicio y el final de la Galería
- Ocultar / mostrar el estado y la barra de navegación en
- Android: Filtrar los resultados de la galería (intervalo de fechas)
- ¿Cómo crear la carpeta de la galería en android programmatically?
- Galería de Android: reemplaza el mapa de bits en ImageView después de que el desplazamiento se detuvo
- Obtener el nombre de la imagen de la imagen seleccionada de la galería en android
- ¿Cómo migrar de Galería a HorizontalScrollView & ViewPager?
La quita del adaptador subyacente. Si hace esto correctamente, la Gallery
se actualizará. De lo contrario, llame a notifyDataSetChanged()
en el adaptador para activar una actualización de Gallery
.
Si anula ImageAdapter, puede modificar el contenido a voluntad agregando métodos para eliminar o agregar elementos a su lista de imágenes o, en el caso del ejemplo, cambiar completamente listas al instante. Estoy mostrando un banner de aplicación en el inicio y, a continuación, cambiar la Galería para mostrar el modo en el que se encuentra la aplicación como un deslizador. Siempre que llame a un método que modifique el dataset en ImageAdapter, llame a imageAdapter.notifyDataSetChanged () como CommonsWare dice arriba:
// in onCreate _gallery = (Gallery) this.findViewById(R.id.gallery_header); _imageAdapter = new ImageAdapter(getApplicationContext(),screen_width,screen_height); _imageAdapter.setBannerMode(true); _gallery.setAdapter(_imageAdapter); // the main activity, in my case in a message handler. _imageAdapter.setBannerMode(false); _imageAdapter.notifyDataSetChanged(); _gallery.setSelection(0,true); // this is my extended image adapter class import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; import android.widget.ImageView.ScaleType; public class ImageAdapter extends BaseAdapter { private Context _context = null; private int[] imageIds = { R.drawable.add_banner,R.drawable.subtract_banner,R.drawable.multiply_banner,R.drawable.divide_banner }; private int[] bannerIds = { R.drawable.mathpiggie_banner }; private static boolean bannerEnabled = true; int _screen_width; int _screen_height; public ImageAdapter(Context context, int screen_width, int screen_height) { this._context = context; _screen_width = screen_width; _screen_height = screen_height; } public void setBannerMode(boolean val) { bannerEnabled = val; } @Override public int getCount() { if (bannerEnabled) return bannerIds.length; else return imageIds.length; } @Override public Object getItem(int index) { if (bannerEnabled) return bannerIds[index]; else return imageIds[index]; } @Override public long getItemId(int index) { return index; } @Override public View getView(int postion, View view, ViewGroup group) { ImageView imageView = new ImageView(_context); if (bannerEnabled) imageView.setImageResource(bannerIds[postion]); else imageView.setImageResource(imageIds[postion]); return imageView; } }