我有一個小問題,我正在尋求幫助。TableViewer選擇變化
我有一個TableViewer
在我的主人部分和很多條目更新非常快。 我的詳細信息頁面顯示選定的項目信息。 我想使這些細節頁面保持不變,只有在選擇發生變化時纔會收到通知。
我面臨的問題是,當一個新項目添加到tableviewer時,選擇自動改變。
編輯:我有一個處理程序更新TableViewer
,添加一個新的項目在我的TableViewer
的輸入列表的開頭。
當TableViewer
爲SWT.VIRTUAL
時,選擇位於索引上,並且添加項目時,所選行相同但項目已移動。
當TableViewer
不是SWT.VIRTUAL
選擇發生在對象上但性能非常低!
任何建議? 謝謝
public void update(Object obj_p) {
if (obj_p instanceof IMessageEvent) {
IMessageEvent event = (IMessageEvent) obj_p;
synchronized (_currentListEvents) {
_currentListEvents.addFirst(event);
if (_currentListEvents.size() > _maxEvents) {
_currentListEvents.removeLast();
}
}
}
if (null == obj_p) {
synchronized (_currentListEvents) {
_currentListEvents.clear();
}
}
}
將新項目添加到tableviewer時,選擇更改事件不會自動發生。你如何添加這個新項目? – Behnil
我將它添加到update()方法中。事實是,當我的TableViewer不是SWT.VIRTUAL時,選擇不會改變。 – Goui
你可以在這裏發佈一些代碼嗎?尤其是將新項目添加到TableViewer時的部分。 – Behnil