CustomListField с использованием VerticalFieldManager - PullRequest
0 голосов
/ 11 октября 2011

Мое требование состоит в том, чтобы создать customlistfieldmanager путем расширения verticalfeildmanager, я не могу понять, как это сделать?

Я не могу понять, почему мой менеджер попросил меня использовать этот метод.

приветствуется любая помощь!

Ответы [ 2 ]

2 голосов
/ 11 октября 2011

Возможно, он попросил вас сделать это из-за самого ограничивающего фактора обычного ListField: вы застряли с одинаковой высотой.

Вам нужно иметь родительский контейнер, который представляет собой прокручиваемый VerticalFieldManager.Внутри этого будут пользовательские менеджеры, которые могут обрабатывать те же функции, что и строка в ListField.Он должен принять фокус и запустить событие при нажатии.Вам также нужно будет отслеживать, какой это номер элемента, чтобы при щелчке он знал, как уведомить слушателей о том, какой из них был выбран.Кроме того, родительский VFM должен иметь возможность отслеживать, какая «строка» в данный момент выбрана - в данном случае какая имеет фокус.

Редактировать для комментария

Если вы добавите NullField в каждый из них, он может принять фокус, но на самом деле не будет отображаться как что-либо.Чтобы определить, имеет ли фокус «строка» (Менеджер), вы можете использовать getFieldWithFocus() для этого Менеджера, а та, которая не возвращает null, является выбранной строкой.Вам, вероятно, также придется сделать какую-нибудь произвольную картину, чтобы нарисовать выделение выделения

1 голос
/ 11 октября 2011

При добавлении и удалении элементов из VerticalFieldManager вам нужно будет динамически добавлять и удалять пользовательские элементы из вашего CustomListFieldManager.

Ваш менеджер спросил об этом, потому что он хочет, чтобы вы научились работать с пользовательским объектом, чтобы понять, как использовать менеджеры.

...