2016-07-26 107 views
1

所以我試圖在InfoWindow中實現水平滾動。 我正在使用谷歌地圖,我想在自定義InfoWindowAdapter中實現一個帶有圖像的水平滾動。Horizo​​ntal RecyclerView只顯示一個項目

所以, 我用一個示例圖像的資源ID填充整數列表的整數。

只要我設置了recyclerview的適配器,即使調試在獲得回收器視圖適配器上的項目計數的長度時停止10次,也只顯示1個項目。

所以, 我RecyclerView適配器如下:

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(); 
} 

}

我設置RecyclerView的適配器如下:

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); 
} 

而且我信息窗口XML對於infowindow的佈局如下:

<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> 

它結束了只顯示一個圖像,當我已經明確提出用10張圖片列表....

這是最後的結果(黑盒子是什麼,我想實現的例子 Final result (the black boxes is an example of what I want to achieve

+0

希望你已經解決了問題。如果有的話,請接受答案。 – LvN

回答

6

請嘗試

android:layout_width="wrap_content" 

上RecyclerView和single_row_stop_image.xml根確保您添加

android:layout_width="wrap_content" 
相關問題