I tried replacing one for another like this:
TextField startpointtf = (TextField) findByName("startpointtf", f);
//swap out real one with auto complete one
AutoCompleteTextField startAC = new AutoCompleteTextField(new String[] {"Common", "Code", "Codename One", "Correct", "Correlation", "Co-location", "Corporate"} );
startAC.setPreferredSize(startpointtf.getPreferredSize());
startAC.setText("TEST");
f.replace(startpointtf,startAC, CommonTransitions.createSlide(CommonTransitions.SLIDE_HORIZONTAL, true, 1000));
unfortunately the new textfield appeared in a completely different place above the old one, and then touching either of them gives a null pointer,
java.lang.NullPointerException
at com.codename1.ui.TextField.initComponentImpl(TextField.java:1493)
at com.codename1.ui.Container.initComponentImpl(Container.java:675)
at com.codename1.ui.Container.initComponentImpl(Container.java:675)
at com.codename1.ui.Container.initComponentImpl(Container.java:675)
at com.codename1.ui.Container.insertComponentAt(Container.java:443)
at com.codename1.ui.Container.addComponent(Container.java:388)
at com.codename1.ui.Form.getLayeredPane(Form.java:722)
at com.codename1.ui.AutoCompleteTextField$FormPointerListener.actionPerformed(AutoCompleteTextField.java:181)