在下面的代码中,每次都调用“ setlisteners”方法,位置值是否应更改?仅传递参数位置的一种方法“ setlisteners”,但是在登录时,我看到只要按钮上发生click事件,它就会显示正确的位置。位置是否应该覆盖自身并显示不正确的位置,因为在任何时候都可能发生点击事件,因此到那时位置值会发生变化?
假设已经绑定了5个视图,并且我单击了第一个itemview,那么它不应该显示最后一个绑定的itemview的最后位置吗?
@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中绑定的最后一个持有人的位置,因为当我单击它时我的视图不调用onBindViewHolder,因此position不应保持最后绑定的位置,并且只要单击任何视图就仅显示该位置吗?
中的位置onBindViewHolder
与适配器/数据集中的位置相同。position
绑定时,将使用数据集中表示的各个ViewHolder设置Click Listener 。即使在绑定了所有视图之后才调用click事件,但每个函数实例都已设置为使用设置每个视图的相应位置。
如果每个视图共享一个Click Listener的相同实例,那么您只会得到最后一个位置。但是,每个视图都拥有自己的Click Listener实例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句