这是我的模型类,其中isChecked
是非持久性的。
public class MyModel extends RealmObject {
private String name;
private String destination;
@Ignore
private boolean isChecked;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDestination() {
return destination;
}
public void setDestination(String destination) {
this.destination = destination;
}
public boolean isChecked() {
return isChecked;
}
public void setChecked(boolean isChecked) {
this.isChecked = isChecked;
}
}
在我的适配器中,当用户选择列表中的项目时,我必须更改isChecked
的值。
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.Name.setText(myModels.get(position).getName());
holder.Destination.setVisibility(View.VISIBLE);
holder.Destination.setText(myModels.get(position).getDestination());
updateCheckedState(holder, myModels.get(position), false);
holder.label.setOnClickListener(v -> {
myModels.get(position).setChecked(!myModels.get(position).isChecked());
updateCheckedState(holder, myModels.get(position), true);
});
}
但价值仍然相同。在我不使用Realm
之前,它工作得很好。
答案 0 :(得分:-2)
覆盖onResume()
别忘了super.onResume();