gpt4 book ai didi

java - 带有左右箭头指示器的水平回收器 View

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:47 25 4
gpt4 key购买 nike

我正在尝试使用左右箭头指示器实现水平回收 View 。所以会发生什么情况是,如果单击右箭头,下一个项目应该出现,如果单击左箭头,上一个项目应该出现,并且在列表的末尾,左箭头应该消失。我不知道我是如何实现的。有人可以帮我吗?下面是我的 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是left imageview和img_right_scroll是horizo​​ntal list之间的right imageview,rv_horizo​​ntal是horizo​​ntallist view

然后单击 ImageView 执行以下操作,希望它有效

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

关于java - 带有左右箭头指示器的水平回收器 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47864621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com