#variables #codenameone #final
#переменные #codenameone #Финал
Вопрос:
У меня есть фрагмент кода, работающий, как ожидалось, в Android, но не в iOS. Проблема заключается в значении конечной переменной ‘nombre’, которая в Android получает ожидаемое значение, тогда как в iOS она получает другое, случайно выбранное из списка (указанное в предоставленном codesnippet)
public AsignarNombreCDF(){
this.departamentoId = AdministradoresApp.departamentoId;
this.setLayout(BoxLayout.y());
this.setTitle("Asignar Nombre a CDF");
TopBarUtils.addMenuToTopbar(this);
TopBarUtils.addCommandToTopbarMenu(this, "Inicio Departamento", e->{new MenuDepartamento(departamentoId).show();});
try {
Map m = Utils.consultaWebService("newfoldernames", new Object[]{"department", departamentoId});
String folderNameMatrix = (String) m.get("FolderNameMatrix");
Map m_ = (Map) JSONUtils.fromJsonString(folderNameMatrix);
Iterator it = m_.keySet().iterator();
while(it.hasNext()){
String k = (String) it.next();
final String nombre = (String) m_.get(k);
Button b = new Button(nombre);
b.addActionListener(e->{cargarFotos(nombre);});
this.add(b);
}
int y = 2;
} catch (Exception ex) {
Utils.gestionaExceptionUi(ex);
}
}
Проблема в том, что конечная переменная nombre, похоже, неправильно присваивает значение, переданное прослушивателю кнопок. Это, как уже было сказано, происходит только в IOS, а не в Android, где мы никогда не получаем несоответствия. Есть ли шанс, что система сборки iOS может контролировать эту ситуацию?. Есть какие-нибудь идеи, как преодолеть эту проблему?
С уважением. Карлос.
Комментарии:
1. Отличается ли значение кнопки и события? Например. название кнопки
1
и событие действия действуют так, как будто это2
? Это довольно простой материал, и у меня есть много кода, который выглядит подобным образом, поэтому я сомневаюсь, что это возможно. Я предполагаю, что ошибка в другой области кода.2. Привет, Шай, это именно то, что происходит. Я нажимаю на кнопку 1, но событие запускается так, как если бы было нажато 2. Для меня это выглядит как проблема сборки. Если вы хотите, я могу предоставить видео, демонстрирующее проблему. С уважением.
3. Звучит больше как условие гонки. Что это за код
cargarFotos
? Работает ли этот код на EDT?