gpt4 book ai didi

listview - 如何自定义ObjectListField?

转载 作者:行者123 更新时间:2023-12-03 02:33:31 25 4
gpt4 key购买 nike

是否可以按照以下设计自定义Objectfieldlist?

         ----------------------------
ROW#1 ROW NAME
row details
---------------------------
ROW#2 ROW NAME
row details
---------------------------
ROW#3 ROW NAME
row details
---------------------------

行名称的字体将大于行详细信息

基本上,我需要在 ObjectListField 行中包含 2 个文本行。**或任何其他方法或建议,因为我可能是错的,**请指导我,它是紧急的,并且是黑莓开发的一些新功能。

最佳答案

ObjectListField 并不是真正执行此操作的正确方法 - 它实际上被设计为 ListField 的快速版本,适合您只需要简单的字符串列表的情况.

您应该扩展 ListField 本身,并提供您自己的 ListFieldCallback 实现,以根据您的数据模型呈现列表。使用 ListField.setCallback 设置回调。

ListFieldCallback.drawListRow 为您提供一个Graphics 上下文,因此您可以绘制任何您想要的内容,包括多行文本。另请确保在列表字段上调用 ​​ListField.setRowHeight 以使行足够高以容纳 2 行文本(默认高度是字体高度,因此您只能容纳 1 行文本) )。

示例代码类似于(这并不完整,如果没有其他代码就无法编译):

ListField myListField = new ListField();
myListField.setRowHeight(getFont().getHeight() * 2)

myListField.setCallback(new ListFieldCallback() {
public void drawListRow(ListField listField, Graphics graphics, int index, int y, int width) {
// draw the first line of text
graphics.drawText(0, y, "ROW " + rowNumber);
graphics.drawText(20, y, "ROW NAME");
graphics.drawText(20, y + getFont().getHeight(), "row details");
}

关于listview - 如何自定义ObjectListField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3573941/

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