加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读