gpt4 book ai didi

java - Apache Pivot 和自定义 ListView ItemRenderer

转载 作者:行者123 更新时间:2023-12-01 05:43:19 25 4
gpt4 key购买 nike

假设我想在 ListView 的项目中使用以下布局:

<TablePane styles = "{padding : 5, horizontalSpacing : 5, verticalSpacing : 5}" >
<columns>
<TablePane.Column width = "1*"/>
<TablePane.Column width = "21"/>
</columns>

<TablePane.Row height="-1">
<TextInput bxml:id ="txtName"
textSize="15" />
<TablePane.Filler/>
</TablePane.Row>

<TablePane.Row height="-1">
<TablePane.Filler/>
<ActivityIndicator active="true" width="16" height="16"/>
</TablePane.Row>
</TablePane>

假设我有以下自定义 ItemRenderer:

public class CustomListRenderer extends TablePane
implements ListView.ItemRenderer {
// stuff here
}

将上面的 BXML 代码片段与我的自定义 ListRenderer 一起使用的最佳方法是什么?

最佳答案

我喜欢这样做的方式是让 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());

关于java - Apache Pivot 和自定义 ListView ItemRenderer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6552774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com