我在我的项目中实施了一个选项列表。
我尝试更改此视图的逻辑以适合我的操作。我想保留SourceList,只有在给定的itemScope不在targetList中时才更改targetList。
我的方法:
public void onTransfer(TransferEvent event) {
// wenn wir eine Sprache aktivieren möchten, sollte die sprache nicht
// aus der source entfernt werden
if (event.isAdd()) {
List<String> itemsInScope = (List<String>) event.getItems();
itemsInScope.addAll(languages.getSource());
languages.setSource(itemsInScope);
for(String s : languages.getSource())
System.out.println(s);
}
settingsObject.setActiveLanguages(languages.getTarget());
settingsObject.setSupportedLanguages(languages.getSource());
TranslationConfig conf1 = new TranslationConfigManager().getSettings();
conf1.setActiveLanguages(languages.getTarget());
conf1.setSupportedLanguages(languages.getSource());
new TranslationConfigManager().updateSetting(conf1);
}
这在逻辑上与DualList一起工作,因为它返回正确填充的List,但它有点像变通方法并且很脏。这里的问题是它仍然删除了视图中的Item。
我的方法是否可行?
答案 0 :(得分:0)
我遇到了同样的问题,我所做的只是在TransferEvent上,我重新创建了pickList,初始Source广告是目标与事件目标,如本例所示
List<String> initialSource;
...(Code to fill the initial list)...
public void onTransferSeccion(TransferEvent event){
originalPickList= new DualListModel(initialSource, originalPickList.getTarget());
}