如何在 BlackBerry 表中显示整数值
Posted
技术标签:
【中文标题】如何在 BlackBerry 表中显示整数值【英文标题】:How to display Integer values in a BlackBerry Table 【发布时间】:2011-07-02 04:42:21 【问题描述】:我需要在表格中显示“整数”类型的值。 现在,我想做的是简单地检查“getDataFields()”中的“Integer”类型 DataTemplate 的方法,并将此 DataTemplate 设置为我的 TableView 的数据模板。
下面的屏幕截图显示了我的“getDataFields”方法。在模拟器上运行此代码后,我得到一个 NoClassDefFoundError。
你们中有人知道如何做到这一点吗?
设置:BB Eclipse 插件 v1.3,SDK 6.0
【问题讨论】:
NoClassDefFoundError 将指示它正在寻找的类。这是诊断问题的有用信息。此外,代码的屏幕截图很难阅读。你能复制和粘贴实际的字符吗? *** 有语法高亮显示。 我怎样才能找到它正在寻找的课程? 【参考方案1】:我们开始吧:) (注意:我将类型改为 Double 而不是 Integer,但它的工作方式相同)
public void setStyle()
DataTemplate dataTemplate = new DataTemplate(tableView, NUM_ROWS,
NUM_COLUMNS)
public Field[] getDataFields(int modelRowIndex)
Object[] data = (Object[]) _tableModel.getRow(modelRowIndex);
Field[] fields = new Field[data.length];
for (int i = 0; i < data.length; i++)
if (data[i] instanceof Bitmap)
fields[i] = new BitmapField((Bitmap) data[i]);
else if (data[i] instanceof String)
MyTextField cell;
if(i==0)
cell = new MyTextField((String) data[i], RichTextField.NON_FOCUSABLE);
else
cell = new MyTextField((String) data[i], RichTextField.NON_FOCUSABLE | RichTextField.TEXT_ALIGN_RIGHT);
if(rowCount%2==0)
Background bg = BackgroundFactory.createSolidBackground(DesignColors.LIGHTBLUE);
cell.setBackground(bg);
fields[i] = cell;
else if (data[i] instanceof Double)
MyTextField cell = new MyTextField("Double", RichTextField.FOCUSABLE);
if(rowCount%2==0)
Background bg = BackgroundFactory.createSolidBackground(DesignColors.LIGHTBLUE);
cell.setBackground(bg);
fields[i] = cell;
else
fields[i] = (Field) data[i];
rowCount++;
return fields;
;
tableView.setDataTemplate(dataTemplate);
我真正想做的如下所示:
Vector atx = new Vector();
atx.addElement("ATX");
atx.addElement(2885.19);
atx.addElement("-0,14");
kurse.addElement(atx);
所以我用几个向量填充“kurse”向量。示例中的向量“atx”包含不同的元素,字符串和双精度。我需要以不同的类型传递它们,因为字符串的样式将与 Doubles 不同。
使用上面的代码给了我 NoClassDefFoundError,而是将值作为字符串传递,比如
atx.addElement("2885.19");
完美运行。
【讨论】:
以上是关于如何在 BlackBerry 表中显示整数值的主要内容,如果未能解决你的问题,请参考以下文章