2017-09-28 1 views
0

Je veux créer une vue de la grille avec le bouton Ajouter à la fin de la grille après avoir affiché la liste des images comme le montre l'image ci-dessous. Je suis capable de récupérer la liste des images du réseau et de les ajouter à la grille. Cependant, impossible d'ajouter le bouton à la fin.Android GridView avec le bouton pour ajouter l'image

L'image du bouton Ajouter est disponible dans le dossier R.drawable. Appréciez toute suggestion pour y parvenir.

Voici mon code adaptateur.

public class PhotosGridAdapter extends ArrayAdapter<PhotoAlbum.Edge> { 


    public PhotosGridAdapter(Context context, List<PhotoAlbum.Edge> photos) { 
     super(context, 0, photos); 
    } 

    @NonNull 
    @Override 
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { 
     PhotoAlbum.Edge photoItem = getItem(position); 

     if(convertView == null){ 
      convertView = LayoutInflater.from(getContext()).inflate(R.layout.grid_item_photo, parent, false); 
     } 
     ImageView ivPhoto = (ImageView) convertView.findViewById(R.id.grid_image); 
     Picasso.with(getContext()).load(photoItem.node.mediaItem.url).into(ivPhoto); 
     return convertView; 
    } 
} 

image

+0

ajouter un élément à la fin du tableau, puis régler + bouton pour la dernière position article – nomag

Répondre

1

Dans votre méthode de comptage retour get photos.size() + 1;

public int getCount() { 
    return photos.size() + 1;   
} 

et dans votre méthode getView()

public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { 
     if(convertView == null){ 
      convertView = LayoutInflater.from(getContext()).inflate(R.layout.grid_item_photo, parent, false); 
     } 
     ImageView ivPhoto = (ImageView) convertView.findViewById(R.id.grid_image); 

     if(position == photos.size()){ 
      ivPhoto.setImageResource(R.drawable.ic_your_plus_icon_here); 
      return convertView; 
     } 
     PhotoAlbum.Edge photoItem = getItem(position); 


     Picasso.with(getContext()).load(photoItem.node.mediaItem.url).into(ivPhoto); 
     return convertView; 
    } 

de Hope this helps .. !!!

+0

Merci beaucoup mudit_sen, qui a aidé. – Babs