こんにちは、私はHorizontal Recycle Viewに問題があります。右にスクロールしてからアイテムをクリックすると、自動的に左の最初のアイテムにスクロールします。現在のクリックされた位置は、左から開始するためにスクロールしない、私はスタックから複数のものを使用しますが、それらのどれもカスタムレイアウトマネージャクラスを作成するscrolltopostionのように働いた!以下は私のコードである 助けてください:Horizontal RecycleViewアイテムをクリックして最初のアイテムにスクロール
public class MainAdapterClassw extends RecyclerView.Adapter<MainAdapterClassw.ViewHolder> {
ArrayList<AuctionBean> list;
Context context;
public MainAdapterClassw(Context context, ArrayList<AuctionBean> list) {
super();
this.context = context;
this.list = list;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.customelayout, viewGroup, false);
ViewHolder viewHolder = new ViewHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
auctionBean = list.get(i);
viewHolder.top_sr_no.setText(auctionBean.getAuction_id());
viewHolder.view2.setVisibility(View.GONE);
viewHolder.itemView.setSelected(selectedPos == i);
viewHolder.bottom_sr_no.setText(auctionBean.getReserve_price());
text_qantity.setText(qantity1);
Picasso.with(context)
.load("http://traala.com/Bidding/images/date.png")
.placeholder(R.mipmap.ic_launcher)
.into(productimage);
}
viewHolder.setClickListener(new ItemClickListener() {
@Override
public void onClick(View view, int position, boolean isLongClick) {
AuctionBean auctionBean1 = list.get(position);
Log.d("LogPosition",position+"");
if (countDownTimer != null) {
countDownTimer.cancel();
}
CSPreferences.putString(context, "auction_id", auctionBean1.getAuction_id());
ModelManager.getInstance().getAuctionManager().AuctionManager(context, Operations.getallAcuntion(context,
ActionString.getall_auctions, "101", auctionBean1.getAuction_id()));
}
});
switch (auctionBean.getAuction_status()) {
case "status_active.png":
viewHolder.imgThumbnail.setImageResource(R.drawable.status_active);
break;
case "status_pending.png":
viewHolder.imgThumbnail.setImageResource(status_pending);
break;
case "status_over.png":
viewHolder.imgThumbnail.setImageResource(R.drawable.ic_icon_auction_red);
break;
}
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
public ImageView imgThumbnail;
public TextView top_sr_no;
public TextView bottom_sr_no;
View view2;
private ItemClickListener clickListener;
public ViewHolder(View itemView) {
super(itemView);
imgThumbnail = (ImageView) itemView.findViewById(R.id.imageview);
top_sr_no = (TextView) itemView.findViewById(R.id.textsrno);
bottom_sr_no = (TextView) itemView.findViewById(R.id.textbottom_srno);
view2 = (View) itemView.findViewById(R.id.view1);
itemView.setOnClickListener(this);
itemView.setOnLongClickListener(this);
}
public void setClickListener(ItemClickListener itemClickListener) {
this.clickListener = itemClickListener;
}
@Override
public void onClick(View view) {
clickListener.onClick(view, getAdapterPosition(), false);
adapterpostion =getAdapterPosition();
auctionstatus =auctionList.get(getAdapterPosition());
}
@Override
public boolean onLongClick(View view) {
clickListener.onClick(view, getPosition(), true);
return true;
}
}
}
}
'Recyclerview'を入れるxmlレイアウトファイルに' android:descendantFocusability = "blocksDescendants" 'このプロパティを追加してください。 – Ninja
の親のレイアウトはxmlですか? –
'LineareLayout'の中のrecyclerviewのようにLinearLayoutにそのプロパティを追加すると – Ninja