java – 带有左右箭头指示符的Horizo??ntal Recycler视图
发布时间:2020-12-15 04:41:23 所属栏目:Java 来源:网络整理
导读:我正在尝试使用左右箭头指示器实现水平循环视图.所以会发生的情况是,如果单击右箭头,则应显示下一项,如果单击左箭头,则应显示上一项,并且在列表的末尾,左箭头应消失.我不知道如何实现这一点.有人可以帮我吗?下面是我的Horizo??ntal Recyclerview适配器. pub
我正在尝试使用左右箭头指示器实现水平循环视图.所以会发生的情况是,如果单击右箭头,则应显示下一项,如果单击左箭头,则应显示上一项,并且在列表的末尾,左箭头应消失.我不知道如何实现这一点.有人可以帮我吗?下面是我的Horizo??ntal Recyclerview适配器.
public class DialogRecyclerViewAdapter extends RecyclerView.Adapter<DialogRecyclerViewAdapter.ViewHolder> { Context context; List<UploadImage> dataAdapters; private SharedPreferences.Editor mSharedPrefEditor; ImageLoader imageLoader; public DialogRecyclerViewAdapter(List<UploadImage> getDataAdapter,Context context){ super(); this.dataAdapters = getDataAdapter; this.context = context; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.cardview,parent,false); ViewHolder viewHolder = new ViewHolder(view); return viewHolder; } @Override public void onBindViewHolder(ViewHolder Viewholder,int position) { final UploadImage dataAdapterOBJ = dataAdapters.get(position); imageLoader = ImageAdapter.getInstance(context).getImageLoader(); imageLoader.get(dataAdapterOBJ.getImage(),ImageLoader.getImageListener( Viewholder.VollyImageView,//Server Image R.drawable.loading_1,//Before loading server image the default showing image. android.R.drawable.ic_dialog_alert //Error image if requested image dose not found on server. ) ); Viewholder.VollyImageView.setImageUrl(dataAdapterOBJ.getImage(),imageLoader); Viewholder.ImageTitleTextView.setText(dataAdapterOBJ.getBrand_name()); Viewholder.garment_price.setText(dataAdapterOBJ.getGarment_price()); Viewholder.VollyImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(MihuChatApplication.getInstance().getContext()); mSharedPrefEditor = sharedPref.edit(); mSharedPrefEditor.putString(Constants.KEY_FROM_CHAT,"fromChatWIndow").apply(); Intent i=new Intent(MihuChatApplication.getInstance().getContext(),DetailsNewActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //PACK DATA TO SEND i.putExtra("image_title",dataAdapterOBJ.getGarment_name()); i.putExtra("image_url",dataAdapterOBJ.getImage_full()); i.putExtra("desc_text",dataAdapterOBJ.getDesc_text()); //i.putExtra("image_url2",imageLarger); i.putExtra("image_price",dataAdapterOBJ.getGarment_price()); //i.putExtra("disc_price",disc_price); //open activity MihuChatApplication.getInstance().getApplicationContext().startActivity(i); } }); } @Override public int getItemCount() { return dataAdapters.size(); } class ViewHolder extends RecyclerView.ViewHolder{ public TextView ImageTitleTextView,garment_price; public NetworkImageView VollyImageView ; public ViewHolder(View itemView) { super(itemView); garment_price = (TextView) itemView.findViewById(R.id.garment_price); ImageTitleTextView = (TextView) itemView.findViewById(R.id.ImageNameTextView) ; VollyImageView = (NetworkImageView) itemView.findViewById(R.id.VolleyImageView) ; } } } 提前致谢. 解决方法
请尝试以下方法
这里img_LeftScroll是左图像视图,img_right_scroll是水平列表之间的右图像视图,rv_horizo??ntal是horizo??ntallist视图 然后单击图像视图,执行以下操作,希望它能正常工作 img_LeftScroll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (horizontalLayoutManagaer.findFirstVisibleItemPosition() > 0) { rv_horizontal.smoothScrollToPosition(horizontalLayoutManagaer.findFirstVisibleItemPosition() - 1); } else { rv_horizontal.smoothScrollToPosition(0); } } }); img_right_scroll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { rv_horizontal.smoothScrollToPosition(horizontalLayoutManagaer.findLastVisibleItemPosition() + 1); } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |