RecyclerView子项单击onBindViewHolder()

问题描述 投票:0回答:1

我里面有一个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中是否有更好的子项单击事件方法?顺便说一下,这些只是示例代码。实际上,当我单击按钮(请求服务器)时,我正在处理更复杂的事情。

android android-recyclerview recycler-adapter android-button
1个回答
0
投票

进行更改:

holder.button.layout ....

[您需要获取该所有者的实例并将其放置在视图中,每次单击按钮。

© www.soinside.com 2019 - 2024. All rights reserved.