gpt4 book ai didi

android - onCreateViewHolder 中的 getAdapterPosition 始终为 "-1"

转载 作者:太空狗 更新时间:2023-10-29 16:11:12 24 4
gpt4 key购买 nike

在许多问题中,人们说“在 onCreateViewHolder 中调用 OnClickListener。您不需要在 onBindViewHolder 中调用 OnClickListener”

@Override
public Viewholder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(itemLayout, parent, false);
final ViewHolder holder = new ViewHolder(v);

holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "position = " + holder.getAdapterPosition());
}
});
return new Viewholder(v);
}

@Override
public void onBindViewHolder(final BoardListViewHolder holder, int position) {

}

但在 Logcat 中,总是显示“position = -1”

这是不正确的。

为什么我应该在 onCreateViewHolder 中调用 onClickListener?

最佳答案

getAdapterPosition in onCreateViewHolder is always “-1”

您应该return holder 而不是 new Viewholder(v)

代码结构

@Override
public Viewholder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(itemLayout, parent, false);
final ViewHolder holder = new ViewHolder(v);

holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "position = " + holder.getAdapterPosition());
}
});
return holder;
}

@Override
public void onBindViewHolder(final BoardListViewHolder holder, int position) {

}

关于android - onCreateViewHolder 中的 getAdapterPosition 始终为 "-1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48203002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com