Je suis nouveau dans la programmation Java/développement Android - mais j'ai travaillé à travers quelques exemples et j'ai essayé de construire une application "mix-and-match" avec 3 vues de galets de défilement.Android Gallery View - Comment configurer la ressource?
J'ai créé la mise en page relative avec 3 vues de galerie, et j'ai défini 3 tableaux pour contenir une liste d'images. Mon problème est que je n'arrive pas à obtenir ImageAdapter pour définir la ressource d'image correcte pour chaque vue de la galerie (elle duplique les mêmes images dans les 3 galeries).
Si je peux afficher les sections pertinentes du code:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
Gallery gTop = (Gallery) findViewById(R.id.gallery_top);
Gallery gMid = (Gallery) findViewById(R.id.gallery_mid);
Gallery gEnd = (Gallery) findViewById(R.id.gallery_end);
gTop.setAdapter(new ImageAdapter(this));
gMid.setAdapter(new ImageAdapter(this));
gEnd.setAdapter(new ImageAdapter(this));
}
Puis une autre classe définit les ressources (hardcoded):
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i = new ImageView(mContext);
i.setImageResource(mEndThumbIds[position]);
i.setAdjustViewBounds(true);
i.setLayoutParams(new Gallery.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)
);
return i;
}
Comment puis-je supprimer ce lien hardcoded et vérifiez quel objet appelle getView et définit les ressources de l'image en conséquence?
Merci, Alex
Merci pour la réponse. Je pense que j'ai fait quelque chose de similaire à ce que vous avez dit, mais Java/Android est très nouveau pour moi (je suis un gars PHP). Mon constructeur ressemble à ceci: public ImageAdapter (Context c, Integer [] gName) { mContext = c; mGalleryName = gName; } J'ai ensuite défini les adaptateurs de la vue Galerie: galleryHead = (Gallery) findViewById (R.id.GalleryHead); Espérons que quelqu'un d'autre trouve son chemin! –