简体   繁体   中英

Problem with button action on BlackBerry

I'm having some trouble setting the FieldChangeListener of a new button I am creating after an action is performed. I have a list of ButtonFields and when I create a new VoiceNote a new ButtonField linking to that VoiceNote is added.

I create a new voice note to be edited in another screen and when that screen is closed the note is added to my database and the new button is added to the list. The button is added correctly but when I click on it, it does nothing.

The code of the MenuItem that invokes this is as follows:

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();
        }
    }
}

You are setting the change listener to be the same as whatever change listener is set for the active screen. Have you set a change listener for the active screen?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM