Donc j'essaye d'implémenter un scroll horizontal dans un InfoWindow. J'utilise google maps et je veux implémenter un scroll horizontal avec des images dans mon InfoWindowAdapter personnalisé.Horizontal RecyclerAfficher seulement un élément
Donc, Je remplis une liste d'entiers avec l'ID de ressource d'un exemple d'image.
Dès que je définis l'adaptateur du recyclerview, seul un élément est affiché, même si le débogage s'arrête 10 fois lorsqu'il obtient la longueur du compte d'éléments sur l'adaptateur de vue recycleur.
Alors, Mon RecyclerView adaptateur est le suivant:
public class ImagesPreviewAdapter extends RecyclerView.Adapter<ImagesPreviewAdapter.ImagesHolder> {
public ArrayList<Integer> list;
public class ImagesHolder extends RecyclerView.ViewHolder {
ImageButton imgImage;
public ImagesHolder(View itemView) {
super(itemView);
imgImage = (ImageButton) itemView.findViewById(R.id.img_preview);
}
}
public ImagesPreviewAdapter(ArrayList<Integer> list) {
this.list = list;
}
@Override
public ImagesHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.single_row_stop_image, parent, false);
return new ImagesHolder(view);
}
@Override
public void onBindViewHolder(ImagesHolder holder, int position) {
int imageid = list.get(position);
holder.imgImage.setImageResource(imageid);
}
@Override
public int getItemCount() {
return list.size();
}
}
Je tournai l'adaptateur du RecyclerView comme suit:
public View getInfoContents(Marker marker) {
ArrayList<Integer> images = new ArrayList<>();
ImagesPreviewAdapter adapter;
for(int i = 0; i < 10; i++) {
images.add(R.drawable.torres2);
}
adapter = new ImagesPreviewAdapter(images);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
recyclerImages.setLayoutManager(mLayoutManager);
recyclerImages.setItemAnimator(new DefaultItemAnimator());
recyclerImages.setAdapter(adapter);
}
Et mon InfoWindow xml pour la disposition de l'infowindow est la suivante:
<android.support.v7.widget.RecyclerView
android:layout_width="300dp"
android:layout_height="wrap_content"
android:id="@+id/recycler_images"
android:layout_below="@+id/img_rua"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:orientation="horizontal">
</android.support.v7.widget.RecyclerView>
Il finit par montrer une seule image, quand je l'ai clairement fait une liste avec 10 images ....
Ceci est le résultat final (les boîtes noires est un exemple de ce que je veux réaliser
Nous espérons que vous avez résolu le problème. Veuillez accepter la réponse si oui. – LvN