Мне нравится делать так, чтобы CustomListRenderer был тем, что вы могли бы назвать «кодом позади» для файла bxml с аналогичным именем, и добавлял в него метод фабрики для создания самого себя, вызывая сериализатор bxml.Примерно так:
public class CustomListRenderer extends TablePane
implements ListView.ItemRenderer {
public static CustomListRenderer create() throws IOException, SerializationException {
BXMLSerializer bxmlSerializer = new BXMLSerializer();
return (CustomListRenderer) bxmlSerializer.readObject(CustomListRenderer.class, "CustomListRenderer.bxml");
}
// rest of your stuff here
}
Затем поместите свой фрагмент выше в CustomListRenderer.bxml, но измените корневой элемент на CustomListRenderer:
<my:CustomListRenderer styles = "{padding : 5, horizontalSpacing : 5, verticalSpacing : 5}"
xmlns:bxml="http://pivot.apache.org/bxml"
xmlns:my="your.java.package.here"
xmlns="org.apache.pivot.wtk">
... rest of your bxml here ...
Наконец, при создании ListView, который хочетчтобы использовать свой пользовательский рендер, вы можете сделать
listview.setItemRenderer(CustomListRenderer.create());