0
我在執行操作後正在創建新按鈕的FieldChangeListener時遇到了一些問題。我有一個ButtonFields列表,當我創建一個新的VoiceNote時,會添加一個鏈接到該VoiceNote的新ButtonField。BlackBerry上的按鈕操作問題
我在另一個屏幕上創建了一個要編輯的新語音筆記,當該屏幕關閉時,筆記將添加到我的數據庫中,並且新按鈕將添加到列表中。該按鈕被正確添加,但當我點擊它時,它什麼都不做。
的菜單項的調用,這是的代碼如下:
private final class NewNote extends MenuItem
{
Vector _voiceNotes;
ListStyleButtonField _nuevoBoton;
public NewNote(Vector voiceNotes)
{
super("New Voice Note",0,0);
_voiceNotes = voiceNotes;
}
public void run() {
VoiceNote newNote = new VoiceNote("", "", null);
UiApplication.getUiApplication().pushModalScreen(new RecordScreen(_managerBD, newNote));
if(newNote.get_id() != -1)
{
_voiceNotes.addElement(newNote);
_nuevoBoton = new ListStyleButtonField(newNote.get_nombre(), 0);
add(_nuevoBoton);
newNote.set_noteIndex(_nuevoBoton.getIndex());
UiApplication.getUiApplication().invokeAndWait(new Runnable() {
public void run() {
_nuevoBoton.setChangeListener(UiApplication.getUiApplication().getActiveScreen().getChangeListener());
}
});
UiApplication.getUiApplication().relayout();
}
}
}
不,我沒有設置它。但是,當我設置我的按鈕加載時,我總是做button.setChangeListener(this)我認爲「this」是屏幕的變化監聽器,在這種情況下什麼是等效的? – 8vius 2010-10-20 19:04:27
解決了我將監聽器設置爲_nuevoBoton.setChangeLister((SavedNotesScreen)UiApplication.getUiApplication()。getActiveScreen())時發生的問題,因爲我的SavedNotesScreen類實現了所需的全部變更偵聽器 – 8vius 2010-10-22 19:41:07