Reputation: 410
this might be a possible duplicate , but proper answer is still not available. I referred to this and this and this
As stated in the links I wish to implement a recyclerview which is circular ie
[view 1]-[view 2]....-[view N-1]-[view N]-[view 1].....and so on
Since there are no override methods to get View and get Item in recyclerview , I am unable to succeed.
please help.Thanks in Advance!
my recycler adapter code
public class HorizontalRecyclerAdapter extends RecyclerView.Adapter<HorizontalRecyclerAdapter.ProductViewHolder> {
List<Product> products;
private Context mContext;
ImageLoader imageLoader;
HorizontalRecyclerAdapter(List<Product> products, Context mContext) {
this.products = products;
this.mContext = mContext;
}
@Override
public ProductViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.product_layout, parent, false);
return new ProductViewHolder(v);
}
@Override
public void onBindViewHolder(final ProductViewHolder holder, int position) {
imageLoader = SingletonRequestQueue.getInstance(mContext).getImageLoader();
String URL = products.get(position).getProductImageUrl();
holder.progressBar.setVisibility(View.VISIBLE);
/* to hide the progress bar after image response */
imageLoader.get(URL, new ImageLoader.ImageListener() {
@Override
public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) {
if (response != null) {
Bitmap bitmap = response.getBitmap();
if (bitmap != null) {
holder.progressBar.setVisibility(View.GONE);
}
}
}
@Override
public void onErrorResponse(VolleyError error) {}
});
holder.itemImage.setImageUrl(URL, imageLoader);
holder.itemName.setText(products.get(position).getProductName());
holder.itemPrice.setText("₹ "+products.get(position).getProductPrice());
holder.sellerLogo.setImageResource(products.get(position).getProductSellerId());
}
@Override
public int getItemCount() {
return products.size();
}
public static class ProductViewHolder extends RecyclerView.ViewHolder {
NetworkImageView itemImage;
NetworkImageView sellerLogo;
TextView itemName;
TextView itemPrice;
ProgressBar progressBar;
public ProductViewHolder(View itemView) {
super(itemView);
itemImage = (NetworkImageView) itemView.findViewById(R.id.product_image);
sellerLogo = (NetworkImageView) itemView.findViewById(R.id.product_seller);
itemName = (TextView) itemView.findViewById(R.id.product_name);
itemPrice = (TextView) itemView.findViewById(R.id.product_price);
progressBar = (ProgressBar)itemView.findViewById(R.id.network_image_progressbar);
}
}
}
Upvotes: 6
Views: 8303
Reputation: 881
Check my answer here. I have tried, it works for recycler view and creates endless scrolling effect from end.
Upvotes: 0
Reputation: 410
I looked in a little deep and found a working solution/hack here.I have tested it and it works well.I am closing this question. thanks!
Upvotes: 5