1
我正在使用兩個表格的程序。第一個表格有一個選擇偵聽器,可將新項目添加到第二個表格。根據第一個表的值,我希望將另一個選擇監聽器添加到第二個表中。如果值是別的,我希望選擇監聽器被刪除。我可以將選擇偵聽器添加到第二個表中,但我似乎無法刪除它。如果第一個表需要第二個表具有選擇偵聽器,並且選擇偵聽器看起來是加倍的。從表格中刪除選擇畫筆
tblFirst.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent arg0) {
TableItem ti = tblFirst.getSelection()[0];
String selectedText = ti.getText();
SelectionListener myListener = new SelectionListener(){
@Override
public void widgetSelected(SelectionEvent arg0) {
//do something here
}
}
if(selectedText.equals("sometext")) {
tblSecond.removeSelectionListener(myListener);
tblSecond.addSelectionListener(myListener);
}
}
採用上述例子中,是SelectionListener中每個I選擇具有文本「SomeText」則會一個項目時添加。如果我選擇了這個項目三次,SelectionListener會被觸發三次。 removeSelectionListener不會首先刪除selectionlistener。
我該如何做這項工作?