【问题标题】:GWT MVP Update the History-Token without changing the ActivityGWT MVP 在不改变 Activity 的情况下更新 History-Token
【发布时间】:2012-03-14 17:00:09
【问题描述】:

我的问题如下:我有一个 MVP GWT 应用程序,其中包含一个显示数据集的表。有数百个数据集,因此我决定将表拆分为每页 20 个结果。我通过 GWT-RPC 服务从服务器加载每个页面,该服务将页码作为参数。

现在我想做以下事情:我想保存用户在 History-Token 中看到的表的页面(所以令牌类似于 TablePlace:page=5),但我不想创建一个新的活动,因为这样活动管理的其他元素的状态(例如,有一个 TreeView)将丢失。就我而言,TreeView 的所有项目都已关闭,这不是我想要的。

如果我不触发新的 Places,用户将无法使用浏览器的后退按钮返回他之前访问过的页面。

提前感谢您的帮助。

【问题讨论】:

    标签: gwt android-activity history mvp gwt-history


    【解决方案1】:

    你会发出 normal PlaceController goTo 来导航到另一个地方,但在你的ActivityMapper 中,你会返回与以前完全相同的Activity 实例。在那种特定情况下,ActivityManager 不会停止/启动活动,而是让它运行它自己的生活(甚至没有表明地方已经改变;如果你想要那个,那么让你的 ActivityMapper 告诉你的 @987654327 @ 在返回之前)。

    您还可能会发现 FilteredActivityMapperCachingActivityMapper 对于在稍微不同的地方返回相同的活动很有用,而无需将负担放在您自己的映射器中。

    【讨论】:

    • 感谢您的帮助,成功了。这是我所做的:在 AppActivityMapper 的 getActivity(Place place) 方法中,我写了以下内容: if (place instanceof AbstractPlace && ((AbstractPlace) place).isSelfFired()) { return lastActivity; AbstractPlace 是我已经编写的一个类,因此添加 selfFired 布尔值非常容易。如果我的 Activity 为自己创建了一个地方,它会将此属性设置为 true,否则为 false。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    • 2016-07-02
    • 2011-02-07
    • 1970-01-01
    相关资源
    最近更新 更多