java - MVP 通过 2 项 Activity 保持焦点并列出位置

标签 java gwt datagrid mvp

我有一个具有 2 个 Activity 的应用程序,一个是 DataGrid 列表,另一个是列表中某个条目的详细信息 Activity 。它们都位于同一布局页面上:

 __________________
|     ListView     |
| - entry 1        |
| - entry 2        |
| - entry 3        |
| - ....           |
| - entry n        |
|------------------|
|   DetailsView    |
|__________________|

dataGrid 高度是固定的,因此我有一个 ScrollPanel 来访问某些条目,并且如果您单击某些条目。

当我实现删除条目的功能时。我发送一个 delete 消息,在响应 OK 后,我通过 GET 调用获取新列表并重新填充我的 dataGrid。因此,当我删除条目 42 时,您必须向下滚动一点,该条目将被删除,并且滚动面板位置与新加载的列表保持相同,正如我所希望的那样。所以我的下一步是更改一些详细信息,因此我使用 placeController 加载一个新的空 DetailsView,因为旧的选定的已被删除。但是,当我调用新的 DetailsPlace 时,我的 ListView 会发生变化,并且 ScrollPanel 位置是列表的开头(ScrollPanel 默认状态,在列表的开头)。

但这不是我想要完成的,为什么 ScrollBar 在 goTo(place) 调用后发生变化。感谢您的帮助。

更新:

另一个方面是,在同一布局中使用 2 个 Activity 是否是一个好主意?或者将两者比较到一个 Activity 和 View 中是否更明智:

有点像(uiBinder):

<g:ResizeLayoutPanel ui:field="listContent" width="100%" height="100%">                             
            <g:ScrollPanel ui:field="listScrollPanel" width="100%" height="250px">
                <c:DataGrid  ui:field='dataGrid' width="100%" height="250px" /> 
            </g:ScrollPanel> 
</g:ResizeLayoutPanel>

<g:ScrollPanel>

    <g:HTMLPanel width="100%" height="100%">    
        <table border="0" width="100%" styleName="{style.detailsTable}">

            <!-- Details Table data -->

        </table><br/>
    </g:HTMLPanel>

</g:ScrollPanel>

最佳答案

如果您的 ActivityMapper 返回与上次调用时返回的 Activity 实例完全相同的 Activity 实例,则该 Activity 将不会停止并重新启动,甚至其“ View ”也不会与文档分离并重新连接。

如果您对列表区域执行此操作,则应该可以解决滚动问题。

仅供引用,FilteredActivityMapperCachingActivityMapper 旨在帮助解决这种情况:第一个将所有 DetailsPlace 映射到某个 ListPlace,第二个负责缓存 equals() 位置的 Activity ;这样,您真正的 ActivityMapper 就可以专注于创建新的 Activity 实例。话虽这么说,我倾向于不使用这些助手并在我自己的 ActivityMapper 中构建缓存,YMMV。

关于java - MVP 通过 2 项 Activity 保持焦点并列出位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26507863/

相关文章:

java - 在java中不使用math lib实现pow

java - 在 url 中发送标签

java - 在 AsyncTask 中加载 AdMob 横幅

java - GWT。以编程方式触发 ListBox 上的 ChangeEvent。

java - GWT RequestFactory - 创建新对象

java - 将 GWT 与 Spring 集成

wpf - WPF Datagrid 控件能否在列布局方面表现得像 WinForms DataGridControl?

java - 当 dateformat 解析和格式化方法不对称时?

reactjs - REST 上的 Admin 中的列表/DataGrid 中是否可以有条件列?

c# - DataGrid 行标题 WPF