我里面有一个RecyclerView和一个喜欢的按钮。例如,当我单击按钮时,我想发送一条Toast消息。示例代码:
class ViewHolder extends RecyclerView.ViewHolder{
Button button;
public ViewHolderMultiple(@NonNull View itemView) {
super(itemView);
button = itemView.findViewById(R.id.button);
}
}
@Override
public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, final int position) {
button.layout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context, ""+list.get(position).getId(), Toast.LENGTH_SHORT).show();
}
});
}
所以这种方法正确吗?由于性能问题,我不确定这是否必须在onBindViewHolder()内部?那么,您能告诉我在RecyclerView中是否有更好的子项单击事件方法?顺便说一下,这些只是示例代码。实际上,当我单击按钮(请求服务器)时,我正在处理更复杂的事情。
进行更改:
holder.button.layout ....
[您需要获取该所有者的实例并将其放置在视图中,每次单击按钮。