2012-03-14 13 views
3

私の問題は次のとおりです。私は、データセットが表示されているテーブルを持つMVP GWTアプリケーションを持っています。数百のデータセットがあるので、私は20の結果のページでテーブルを分割することに決めました。私は引数としてpagenumberを取得するGWT-RPCサービス経由でサーバから各ページを読み込みます。GWT MVPアクティビティを変更せずに履歴トークンを更新する

ここでは、ユーザーが履歴トークンに表示するテーブルのページを保存したい(トークンはTablePlace:page = 5のようになります)が、私はしたくありませんアクティビティが管理する他の要素の状態(例えば、ツリービューがあるなど)が失われるため、新しいアクティビティを作成します。私の場合、TreeViewのすべてのアイテムは閉じられます。これは私が望むものではありません。

新しいプレイスを起動しない場合、ユーザーはブラウザの戻るボタンを使用して以前に訪れたページに戻ることはできません。

ご協力いただきありがとうございます。

答えて

4

あなたは別の場所に移動することが、あなたのActivityMapperに、あなたが以前のようにまったく同じActivityインスタンスを返したいPlaceControllergoToノーマルを発行すると思います。その特定のケースでは、ActivityManagerはアクティビティを停止/開始するのではなく、自分の人生を動かせるようにします(場所が変更されたことを知らせなくても、それを望むなら返す前にActivityMapperにあなたのActivityを伝えてください)。

FilteredActivityMapperCachingActivityMapperは、自分のマッパーに負担をかけることなく、わずかに異なる場所で同じアクティビティを返すのに便利です。

+1

ご協力いただきありがとうございました。ここで私が行ったことは次のとおりです。\t \tのAppActivityMapperのgetActivity(Place place)メソッドで、次のように記述しました:if(place abstractofPlace &&((AbstractPlace)place).isSelfFired()){return lastActivity; } AbstractPlaceは私が既に書いたクラスなので、selfFiredブール値を追加するのはかなり簡単でした。アクティビティーが自分自身への場所を作成する場合、この属性をtrueに設定します。それ以外の場合はfalseです。 – jcvj

関連する問題