Android: dossier Images de l'actif dans un GridView

J'ai travaillé sur la création d'une vue en grille des images, avec des images présentes dans le dossier Assets. Le fichier d'ouverture d'un fichier à partir du dossier d'actifs dans le lien Android m'a aidé à utiliser le bitmap pour le lire. Le code actuellement en cours est:

public View getView(final int position, View convertView, ViewGroup parent) { try { AssetManager am = mContext.getAssets(); String list[] = am.list(""); int count_files = imagelist.length; for(int i= 0;i<=count_files; i++) { BufferedInputStream buf = new BufferedInputStream(am.open(list[i])); Bitmap bitmap = BitmapFactory.decodeStream(buf); imageView.setImageBitmap(bitmap); buf.close(); } } catch (IOException e) { e.printStackTrace(); } } 

Mon application lit l'image à partir du dossier Assets, mais elle n'est pas itérée via les cellules dans la vue de la grille. Toutes les cellules de la vue de grille ont une même image choisie dans l'ensemble des images. Quelqu'un peut-il me dire comment itérer dans les cellules et avoir encore des images différentes?

  • Drawables ne change pas après avoir été remplacé par d'autres dans les dossiers
  • Capture d'image de la galerie et de l'appareil photo dans Android
  • BitmapFactory Impossible de décoder le flux
  • Drawable-hdpi, Drawable-mdpi, Drawable-ldpi Android
  • Obtenir le chemin d'accès et le nom de fichier du résultat de l'intention de la caméra
  • ImageView est-il un carré avec une largeur dynamique?
  • J'ai le code ci-dessus dans une classe ImageAdapter qui étend la classe BaseAdapter, et dans ma classe principale, je suis en train de lier cela avec ma création par:

      GridView gv =(GridView)findViewById(R.id.gridview); gv.setAdapter(new ImageAdapter(this, assetlist)); 

    Merci beaucoup pour toute aide à l'avance, Saran

  • Existe-t-il un moyen d'éviter d'afficher en plein écran SearchView / Keyboard sur un paysage?
  • Redimensionnement dynamique des configurations avec ViewFlipper
  • Comment implémentez-vous le menu contextuel dans ListActivity sur Android?
  • Convertir des images png en 9 patch dans Android Studio
  • Android 9-Patch Image de fond Taille PNG initiale?
  • Comment accéder aux vues de l'activité originale à partir du service de base généré
  • 2 Solutions collect form web for “Android: dossier Images de l'actif dans un GridView”

    Saran, ci-dessous, c'est ce que j'utilise pour afficher des images dans le dossier des ressources avec la galerie. J'imagine que c'est le même problème avec un gridview:

     public class myActivitye extends Activity { private Gallery mGallery; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mGallery = (Gallery) findViewById(R.id.mygalleryinxml); //load images into memory mBitArray = new Bitmap[4]; try { //these images are stored in the root of "assets" mBitArray[0] = getBitmapFromAsset("pic1.png"); mBitArray[1] = getBitmapFromAsset("pic2.png"); mBitArray[2] = getBitmapFromAsset("pic3.png"); mBitArray[3] = getBitmapFromAsset("pic4.png"); } catch (IOException e) { e.printStackTrace(); } mGallery.setAdapter(new GalleryAdapter(this, mBitArray)); } public class GalleryAdapter extends BaseAdapter { //member variables private Context mContext; private Bitmap[] mImageArray; //constructor public GalleryAdapter(Context context, Bitmap[] imgArray) { mContext = context; mImageArray = imgArray; } public int getCount() { return mImageArray.length; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } //returns the individual images to the widget as it requires them public View getView(int position, View convertView, ViewGroup parent) { final ImageView imgView = new ImageView(mContext); imgView.setImageBitmap(mImageArray[position]); //put black borders around the image final RelativeLayout borderImg = new RelativeLayout(mContext); borderImg.setPadding(20, 20, 20, 20); borderImg.setBackgroundColor(0xff000000);//black borderImg.addView(imgView); return borderImg; } }//end of: class GalleryAdapter /** * Helper Functions * @throws IOException */ private Bitmap getBitmapFromAsset(String strName) throws IOException { AssetManager assetManager = getAssets(); InputStream istr = assetManager.open(strName); Bitmap bitmap = BitmapFactory.decodeStream(istr); istr.close(); return bitmap; } } 

    Pas besoin de lire tous les éléments à chaque fois. Lisez uniquement l'élément au poste indiqué dans l'appel de méthode getView. Et affichez-le uniquement à ce moment-là.

     BufferedInputStream buf = new BufferedInputStream(am.open(list[position])); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.