onBindViewHolder无法使用viewHolder

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

我想填写用户名,全名,显示以下btn的可见性等内容。最大的问题是我无法在onbindviewholder中使用它。红色下划线。你能帮我吗?

错误是:错误:找不到符号变量follow_btn。

@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {

    viewHolder.follow_btn.setVisibility(View.VISIBLE);

}


@Override
public int getItemCount() {
    return User.size();
}

public class ViewHolder extends RecyclerView.ViewHolder {

    public TextView username_search;
    public TextView fullname_search;
    public CircleImageView profile_pic;
    public Button follow_btn;

    public ViewHolder(@NonNull View itemView) {
        super(itemView);

        username_search = itemView.findViewById(R.id.username_search);
        fullname_search = itemView.findViewById(R.id.fullname);
        profile_pic = itemView.findViewById(R.id.image_profile_pic);
        follow_btn = itemView.findViewById(R.id.follow_btn);

    }
}
android class android-recyclerview public
1个回答
1
投票

问题在于课程的命名。仔细查看方法参数,它是RecyclerView.ViewHolder。它不是您自己的ViewHolder类,因此无法找到follow_btn。

因此,要解决此问题,您需要更改类声明中的类型。你可能有类似的东西

class Adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>

改为

class Adapter extends RecyclerView.Adapter<Adapter.ViewHolder>

并立即修复其余的代码。然后你应该使onBindViewHolder方法正确:

@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {...}
© www.soinside.com 2019 - 2024. All rights reserved.