我正在开发一款Android应用。我有这个域类:
public class Film implements Parcelable {
private List<FavChangesListener> listeners;
//more members
}
我正在展示一个电影列表,每个项目都有一个按钮,用于标记/取消标记为最喜欢的电影。应用程序中的另一个组件会听取此最佳状态更改。
public interface FavChangesListener {
void onFavChanged(Film film);
}
当你点击一部电影时,另一个活动会显示该电影的细节。进入详细活动后,您还可以将电影标记/取消标记为收藏,并且必须像以前一样通知听众。
到目前为止,这么好。问题是我使用额外的内容在列表活动和详细活动之间传递电影:我的Film
类实现了Parcelable
。因此,当电影在详细活动中被反序列化时,侦听器列表为空(或为空)。
我应该使用其他方式在活动之间传递电影而不是额外的+ Parcelable解决方案吗?就像使用第三个组件来设置/获取电影一样。
我是否应该使侦听器实现Parcelable并在额外内部序列化列表? (我肯定不会)
在这种情况下,在域类中拥有侦听器是一个好主意吗?
建议和建议将不胜感激。