• 1000 (ArrayList) - это не тот, на котором я щелкнул.
Реализация onclickListener:
в HorizontalAdapter (внутренний recyclerview):
private OnItemClickListener mItemClickListener;
public interface OnItemClickListener {
void onItemClick(View view, int position, int parentPosition);
void onItemLongClick(View view, int position);
}
// for both short and long click
public void SetOnItemClickListener(final OnItemClickListener mItemClickListener) {
this.mItemClickListener = mItemClickListener;
}
и в viewHolder I реализовал onclick, как показано ниже (здесь я получаю неправильные параметры. Я получаю параметры правильно, но после нескольких раз изменения параметров клавиатуры он явно сбивает с толку)
relativeLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Triggers click upwards to the adapter on click
if (mItemClickListener != null) {
int position = getAdapterPosition();
mItemClickListener.onItemClick(relativeLayout, position, positionHashmap.get(options.get(position).getKey()));
} }});
в вертикальном адаптере viewHolder я вызываю onClickListener adapter.SetOnItemClickListener(mItemClickListener);
и вот этот метод, который будет вызываться из Activity
public void setOnItemClickListener(final BotItemHorizontalAdapter.OnItemClickListener itemClickListener) {
this.mItemClickListener = itemClickListener;
}
, наконец, вот как я вызываю onclickListener из Activity:
verticalAdapter.setOnItemClickListener(new HorizontalAdapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position, int parentPosition) {
}
@Override
public void onItemLongClick(View view, int position) {
}
});