В вашем классе окна реализуйте FieldChangeLIstener.
objectChoiceField.setChangeListener(this)
Я бы порекомендовал сделать пометку для индекса, где вы хотите добавить / удалить метку, чтобы в событии fieldChanged вам было проще делать то, что вы хотите, без риска использования недопустимого индекса:
if (selectedIndex == 0) { // Yes
if (!labelField.hasManager()) {
// If the field is not already present, add it to the screen.
insert(labelField, positionToInsertField);
}
} else { // No
if (labelField.hasManager()) {
// Our field is currently on the screen - let's remove it now.
remove(labelField);
}
}
Вы можете найти пример очень похожего поведения в коде ниже:
http://svn.bbssh.org/trunk/BBSSH/src/org/bbssh/screens/ConnectionPropertiesScreen.java
Найдите функцию handleFontTypeChange, вызванную из fieldChangeListener. Там вы увидите, как на основе текущего выделения (в данном случае шрифта TrueType или шрифта Bitmap) мы динамически добавляем и удаляем элемент управления.