-1

トップ ビューと 2 つのスタック ビューを持つフォルダーを含むパースペクティブがあります。

トップ ビューで選択が行われると、フォルダ内のすべてのビューを更新する必要があります。これは、選択リスナーを追加することによって実現されます。ただし、実際に表示されているビューのみが選択に反応します。別のビューを選択しても、まだ空です。

選択リスナーを追加するコードは、ビューの init() メソッドに配置されます。これは、パースペクティブが読み込まれたときにフォルダー内の最初のビューに対してのみ呼び出されるようです。

パースペクティブが作成されたときにすべてのビューが作成される (およびそれらの init() メソッドが呼び出される) ように、この「遅延読み込み」をオフにする方法はありますか?

助けてくれてありがとう、

4

1 に答える 1

0

これはバグではなく、機能です。すべてのプラグイン/ビューなどではないため、Eclipseはこの動作から大きな恩恵を受けます。本当に必要でない限りロードされます。これが、リスナーが最近登録された理由です(ビューコンテンツが実際に作成されるとすぐに)。

しかし、問題に戻りましょう。それらすべてを手動で作成/アクティブ化することを試みることができます。

単に電話する

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(<ViewID>)

それらのすべてのために。それらがアクティブ化されておらず、前面に表示されていない場合(ただし、スタックの背面に表示されている場合)、secID(nullの場合もあります)と追加の特定のモードフラグを使用してオーバーロードされたshowView()メソッドを確認します。

于 2012-12-12T21:23:10.233 に答える