0

プロジェクト エクスプローラー ビューに共通ナビゲーター フレームワーク (CNF) を使用しています。ツリー ビューアーのコンテンツ プロバイダーとラベル プロバイダーを設定しました。アプリケーションの内部でデータが変更された場合、ツリー ビューも更新する必要があります (たとえば、ノードの追加、ノードの削除など)。

この場合、ツリービューアを更新しようとしました。そして、リフレッシュ操作は正常に機能します。ただし、更新操作の後、ツリー ビューアの選択はビューアの最上位の親ノードに到達します。しかし、代わりに、新しく追加されたノードまたは新しく追加されたノードの親ノードを選択する必要があります。これはどのように達成できますか?

4

2 に答える 2

0

手動で選択を設定し、ツリー ビューアに表示することができます。

//after the refresh operation
treeViewer.setSelection(new StructuredSelection(newlyAddedNode, true));
于 2012-06-14T07:51:48.133 に答える
0

Treeviewer では、Viewer 内のオブジェクトに hashCode() および equals() を実装する必要があります。同様に、Viewer に IElementComparer を提供する必要があります。

Eclipse フォーラムへのヒント: http://www.eclipse.org/forums/index.php/t/166563/

于 2012-08-21T21:39:34.100 に答える