如何在适配器中设置条件?
how to set condition in adapter?
我用它来显示一些文本视图
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Post p = posts.get(position);
holder.textView1.setText(p.getName());
holder.textView2.setText(p.getFamilyName());
if (posts.get(position).getBoolean()){
holder.textView3.setVisibility(View.VISIBLE);
}
}
但是当我使用 notifyDataSetChange();
时我遇到了一些问题设置 if(){}
的正确方法是什么
在回收者看来?
试试这个方法:
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Post p = posts . get (position);
holder.textView1.setText(p.getName());
holder.textView2.setText(p.getFamilyName());
holder.textView3.setVisibility(
if (posts.get(position).getBoolean()) {
View.VISIBLE
} else {
View.GONE
}
);
}
你错过了 else 部分。
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Post p = posts.get(position);
holder.textView1.setText(p.getName());
holder.textView2.setText(p.getFamilyName());
holder.textView3.setVisibility(posts.get(position).getBoolean() ? View.VISIBLE : View.GONE);
}
我用它来显示一些文本视图
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Post p = posts.get(position);
holder.textView1.setText(p.getName());
holder.textView2.setText(p.getFamilyName());
if (posts.get(position).getBoolean()){
holder.textView3.setVisibility(View.VISIBLE);
}
}
但是当我使用 notifyDataSetChange();
时我遇到了一些问题设置 if(){}
的正确方法是什么
在回收者看来?
试试这个方法:
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Post p = posts . get (position);
holder.textView1.setText(p.getName());
holder.textView2.setText(p.getFamilyName());
holder.textView3.setVisibility(
if (posts.get(position).getBoolean()) {
View.VISIBLE
} else {
View.GONE
}
);
}
你错过了 else 部分。
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Post p = posts.get(position);
holder.textView1.setText(p.getName());
holder.textView2.setText(p.getFamilyName());
holder.textView3.setVisibility(posts.get(position).getBoolean() ? View.VISIBLE : View.GONE);
}