У меня есть вид рециркулятора, и я хочу вернуть позицию в списке, по которому щелкнули.Я попытался установить OnClickListener на itemView, но, похоже, это не сработало при его нажатии
Я попытался установить OnClickListener внутри метода ViewHolder, но это не сработало либо
@Override
public void onBindViewHolder(HomeAdapter.HomeViewHolder holder, final int position) {
holder.evacName.setText(evacNames.get(position).toString());
holder.editTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
holder.deleteTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("CLICKED ROW " + position);
}
});
}
@Override
public int getItemCount() {
return evacNames.size();
}
class HomeViewHolder extends RecyclerView.ViewHolder{
TextView evacName;
TextView editTextView;
TextView deleteTextView;
public HomeViewHolder(View itemView) {
super(itemView);
evacName = itemView.findViewById(R.id.evacProcedureTextView);
editTextView = itemView.findViewById(R.id.editTextView);
deleteTextView = itemView.findViewById(R.id.deleteTextView);
swipeLayout = (SwipeLayout) itemView.findViewById(R.id.swipeLayout);
swipeLayout.setShowMode(SwipeLayout.ShowMode.LayDown);
swipeLayout.addDrag(SwipeLayout.DragEdge.Left, itemView.findViewById(R.id.bottom_wrapper));
swipeLayout.addSwipeListener(new SwipeLayout.SwipeListener() {
@Override
public void onClose(SwipeLayout layout) {
//when the SurfaceView totally cover the BottomView.
}
@Override
public void onUpdate(SwipeLayout layout, int leftOffset, int topOffset) {
//you are swiping.
}
@Override
public void onStartOpen(SwipeLayout layout) {
}
@Override
public void onOpen(SwipeLayout layout) {
//when the BottomView totally show.
}
@Override
public void onStartClose(SwipeLayout layout) {
}
@Override
public void onHandRelease(SwipeLayout layout, float xvel, float yvel) {
//when user's hand released.
}
});
}
}
После нажатия на строку я ожидаю увидеть положение строки, нажатой через System.out