2012-02-27 6 views
0

У меня проблемы с ModelComparer. Вот код:ModelComparer не работает вообще

mycombobox.getStore().setModelComparer(new ModelComparer<BeanModel>() { 

    @Override 
    public boolean equals(BeanModel m1, BeanModel m2) { 
     System.out.println("HEY."); 
     if(m1 == null) return false; 
     if(m2 == null) return false; 
     return (((mycomboelement)m1.getBean()).getId()==((mycomboelement)m2.getBean()).getId()); 
    } 
}); 

ModelComparer, который я определил, не работает вообще. Когда я называю

abeanmodel = mycombobox.getStore().findModel(x); 

переменной abeanmodel не всегда null, ни сообщение «ЭЙ». печатается на консоли. Я не могу понять, что случилось. Я использую gxt-2.2.3. ТИА.

Francesco

+0

Каков тип возврата MyComboElement.getId()? String, int, какой-то другой объект? –

+0

Извините. Я не упоминал об этом. Это int. – Francesco

+0

Я думаю, вам нужно будет написать больше кода ... Это работает? 'abeanmodel = mycombobox.getStore(). findModel (" id ", x.getId());' –

ответ

0

У меня есть ответ. Террель была права. Я должен опубликовать еще несколько кодов. Когда я выполняю:

mycombobox.getStore().findModel(x); 

проверить мой BeanModel x против пустого магазина. Это из-за выполнения асинхронного вызова GWT. Чтобы получить код работу я должен реализовать LoadListener:

теперь я уверен, чтобы проверить мой BeanModel x против магазина, заполненный данными. Надеюсь, это поможет. Спасибо.

Francesco

Смежные вопросы