Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Use a callback pattern:</p> <pre><code>class TitleScreen extends MainScreen { private ButtonField myButton; public TitleScreen() { super(); setTitle("Click the button:"); // TODO change the label of this button (see below) myButton = new ButtonField("Show the list", ButtonField.CONSUME_CLICK); myButton.setChangeListener(new FieldChangeListener() { public void fieldChanged(Field field, int context) { OnItemSelectedCallback callback = new OnItemSelectedCallback() { public void onItemSelected(String label) { TitleScreen.this.onItemSelected(label); } }; MyScreen myScreen = new MyScreen(callback); UiApplication.getUiApplication().pushScreen(myScreen); } }); add(myButton); } private void onItemSelected(String label) { // this will be called when a menu item is executed on the MyScreen // e.g. you can call smth like: myButton.setLabel(label); } } interface OnItemSelectedCallback { void onItemSelected(String label); } class MyScreen extends MainScreen { ObjectListField myList = new ObjectListField(); private final OnItemSelectedCallback onItemSelectedCallback; public MyScreen(OnItemSelectedCallback onItemSelectedCallback) { setTitle("Select an item below:"); this.onItemSelectedCallback = onItemSelectedCallback; myList.set(new String[] { "Item 1", "Item 2", "Item 3", "Item 4", }); add(myList); addMenuItem(myMenu); } private final MenuItem myMenu = new MenuItem("Select item", 0, 0) { public void run() { int index = myList.getSelectedIndex(); if (index &lt; 0) return; String item = (String) myList.get(myList, index); Status.show("Selected: " + item); // TODO how to return to the previous screen here? // TODO how to call myButton.setLabel(item) here? // notify the parent screen onItemSelectedCallback.onItemSelected(item); // close the current screen UiApplication.getUiApplication().popScreen(MyScreen.this); } }; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload