我需要在表格中显示“整数”类型的值。 现在,我想做的是简单地检查“getDataFields()”中的“Integer”类型 DataTemplate的方法,并将此DataTemplate设置为我的TableView的数据窗口。
下面的屏幕截图显示了我的“getDataFields”方法。在模拟器上运行此代码后,我得到一个NoClassDefFoundError。
你们中的任何人都有任何想法如何做到这一点?
设置:BB Eclipse插件v1.3,SDK 6.0
答案 0 :(得分:0)
我们走了:) (注意:我将类型更改为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”向量。示例中的Vector“atx”包含不同的元素,字符串和双打。我需要用不同的类型传递它们,因为字符串的样式与双打不同。
使用上面的代码给我NoClassDefFoundError,将值作为String传递,比如
atx.addElement("2885.19");
完美无缺。