gpt4 book ai didi

java - Eclipse插件开发: How to inform view that content has changed?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:24:00 24 4
gpt4 key购买 nike

我正在开发我的第一个 Eclipse 插件。为此,我使用了一个具有简单 View 的示例。我添加了一个 IStructuredContentProvider 来为 View 提供内容。第一次加载时它可以工作,但是当我更改内容时, View 不会更新。我该怎么办?

这是我的 IStructuredContentProvider:

public class ViewContentProvider implements IStructuredContentProvider {

private List<Project> projects = new ArrayList<Project>();

private void addProject(Project project) {
if (!projects.contains(project)) {
projects.add(project);
}
}

public void addProjects(List<Project> projects) {
for (Project project : projects) {
addProject(project);
}
}

@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {

}

@Override
public void dispose() {

}

@Override
public Object[] getElements(Object parent) {
return projects.toArray();
}
}

最佳答案

这是来自 inputChanged() 方法的描述:

A typical use for this method is registering the content provider as a listener to changes on the new input (using model-specific means), and deregistering the viewer from the old input. In response to these change notifications, the content provider should update the viewer (see the add, remove, update and refresh methods on the viewers).

关于java - Eclipse插件开发: How to inform view that content has changed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8519439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com