我正在尝试创建手机浏览器,从GWT Showcase获取帮助
在这里我创建了CellBrowser
final MultiSelectionModel<MyDTO> selectionModel = new MultiSelectionModel<MyDTO>();
CellBrowser cellBrowser = new CellBrowser(new ContactTreeViewModel(selectionModel), null);我不明白的是,什么是ContactTreeViewModel?我读过GwtShowcase中的类contacttreeviewmodel,但是我不能理解,它到底是什么
谢谢你的帮助
发布于 2012-05-21 23:51:17
它是你的视图模型,也就是树形视图和你的实际模型(用MVC或MVP的说法)之间的接口。CellBrowser (与CellTree相同)将向您的TreeViewModel询问树的节点(以NodeInfo对象的形式),它们的子节点,如何显示它们(关联的Cell),如何选择它们(关联的SelectionModel:您可以有一个树,其中您只能从第二级选择节点,和/或第二级的每个分支只能选择一个节点,或者任何节点,等等),最后是如何更新它们( ValueUpdater)。
基本上(免责声明:这是过程的简化!),树中的每个级别都是一个NodeInfo负责的CellList。setDataDisplay将CellList与NodeInfo相关联,以便对模型的更改可以反映在树中,然后Cell、ProvidesKey、SelectionModel和ValueUpdater都具有与CellList相同的行为。CellBrowser会向您的NodeInfo索要它们,以便设置CellList。展开节点时,CellBrowser会要求您的TreeViewModel提供与展开的节点关联的NodeInfo,并使用它创建新的CellList。
因此,展示中的ContactTreeViewModel是TreeViewModel的特定实现,用于将联系人(模型)显示为树。
发布于 2012-05-21 23:40:58
GWT展示案例展示了您可以如何处理代码样本。
我认为在尝试从头开始理解这样的代码之前,您应该先阅读cell小部件的文档。
这里是文档,请阅读它,然后重试理解代码。
https://developers.google.com/web-toolkit/doc/latest/DevGuideUiCellWidgets#available
https://stackoverflow.com/questions/10688268
复制相似问题