2016-07-26 17 views
1

私はInfoWindowで水平スクロールを実装しようとしています。 私はGoogleマップを使用しています。カスタムInfoWindowAdapterに画像付きの水平スクロールを実装したいと思います。Horizo​​ntal RecyclerViewは1つのアイテムしか表示しません

したがって、 例のイメージのリソースIDで整数のarraylistを埋めます。

リサイクラビューアダプタのアダプタを設定すると、リサイクラビューアダプタのアイテム数の長さを取得すると、デバッグが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情報ウィンドウのレイアウトは次のとおりです。

<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

RecyclerView上

android:layout_width="wrap_content" 

試してみて、single_row_stop_image.xmlのルートにあなたが

を追加していることを確認してください
android:layout_width="wrap_content"