我有一个棘手的问题:在我的应用程序中,我必须显示一个包含一些记录的列表(大约40-50),每个记录都取自我基于Realm
的数据库。
我的列表项
public class InterventionActivityField extends RealmObject {
public InterventionActivityField() {
}
@PrimaryKey
@Expose
private String ID;
@Expose
private String Result;
@Expose
private String DependingActivityFieldID;
@Expose
private String DependingActivityFieldValue;
@Expose
private int DependingActivityFieldCondition;
private InterventionActivityField father;
@Expose
private boolean hasResultValue;
private RealmList<InterventionActivityField> sons;
}
InterventionActivityField
(&#34;父亲&#34;)中的每一个都可能(或没有)与他们相关的1-N InterventionActivityField
(&#34;儿子&#34;)。
为了更好地理解,可以将其视为&#34;人类&#34;上课,每个父亲都在这里。可能有1-N&#34;儿子&#34;,每个儿子都有一个父亲&#34;但是父亲和儿子都是人类。
我的问题是,在我的列表中,我必须显示或隐藏每个儿子,具体取决于我父亲结果中设置的值。每个儿子可能有不同的可见性逻辑,即使它与另一个儿子的父亲相同。
实际上,当值重新更改适配器实例化和Realm查询时,我会刷新RecyclerView,但我不喜欢这种方法,因为它会导致list
及其完全刷新fields
(视觉效果不佳,因为他们获得了switches
,imageviews
,...)。
我的问题是,在这一点上,我是如何设法隐藏或显示列表中的某些项目(我不强制使用ListView,Recyclerview,...)而不刷新每个项目?是否有建议的方法或类似的东西?
我试着在SO和Google上四处寻找,但我没有找到任何好的解决方案