数据库中的 TextView 未在适配器中检测到

TextView from database not detect in adapter

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {

    private Context context;
    private List<Result> results;

    public RecyclerViewAdapter(Context context, List<Result> results) {
        this.context = context;
        this.results = results;
    }

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

        return holder;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        Result result = results.get(position);
        holder.textViewId.setText(result.getId());
        holder.textViewName.setText(result.getName());
        holder.textViewPhone.setText(result.getPhone());
        holder.textViewAddress.setText(result.getAddress());
        holder.textViewStatus.setText(result.getStatus());
    }

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

    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{

        @BindView(R.id.textId) TextView textViewId;
        @BindView(R.id.textName) TextView textViewName;
        @BindView(R.id.textPhone) TextView textViewPhone;
        @BindView(R.id.textAddress) TextView textViewAddress;
        @BindView(R.id.textStatus) TextView textViewStatus;
        @BindView(R.id.button) Button button;
        @BindView(R.id.checkBox) CheckBox checkBox;

        public ViewHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
            itemView.setOnClickListener(this);

            String status = textViewStatus.getText().toString();
            if(status.equals("Check")){
                checkBox.setChecked(true);
            }else{
                checkBox.setChecked(false);
            }
        }

我已经从 MySQL 数据库中检索到 text view 中的数据 recyclerview show name status phone..., status 将显示 check 而不是检查,我在适配器中添加了复选框以设置复选框检查 textview 状态是否已检查,但字符串状态将其与 XML 中的 textviewandroid:text 进行比较来自数据库的值,如果我添加侦听器,它只能检测来自数据库的值...没有 onClick 侦听器我怎么能这样做?

为什么不将此代码块放在 onBindViewHolder 方法中:

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    ...
    String status = holder.textViewStatus.getText().toString();
    if(status.equals("Check")){
       holder.checkBox.setChecked(true);
    }else{
       holder.checkBox.setChecked(false);
    }    
}

因为您在 Viewholder 的构造函数中从 TextView 获取文本,该构造函数在您在 TextView 中设置文本的 onBindViewHolder() 之前调用,并且在创建 RecyclerView 后仅调用一次构造函数。 因此,请在 onBindViewHolder() 方法中添加此代码以获得正确的响应。

String status = textViewStatus.getText().toString();
            if(status.equals("Check")){
                checkBox.setChecked(true);
            }else{
                checkBox.setChecked(false);
            }