В приведенном ниже коде метод setlisteners вызывается каждый раз, не следует ли изменять значение позиции? Есть только один метод setlisteners, в котором передается позиция параметра, но в журнале я вижу, что всякий раз, когда на моих кнопках происходит событие щелчка, он показывает правильную позицию. не должна ли позиция перезаписываться и показывать неправильную позицию, потому что событие щелчка может произойти в любое время, к тому времени значение позиции изменится?
предположим, что 5 представлений были привязаны, и я нажимаю на первое представление элемента, тогда не должно ли оно показывать мне последнюю позицию, занимаемую последним привязанным просмотром элемента?
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
setListeners(holder,position);
}
private void setListeners(ViewHolder holder, final int position) {
holder.updownarrow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("ddfg",""+position);
}
});
holder.leftlayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
position будет удерживать позицию последнего держателя, который был привязан в onBindViewHolder, поскольку мой View не вызывает onBindViewHolder, когда я нажимаю на него, не должно положение удерживать позицию, которая была привязана последней, и показывать только эту позицию всякий раз, когда нажимается какое-либо представление?