如何在 BlackBerry Table 中显示整数值

发布于 2024-10-18 20:07:46 字数 347 浏览 1 评论 0原文

我需要在表中显示“整数”类型的值。 现在,我想做的就是简单地检查“getDataFields()”中的类型“Integer” DataTemplate 的方法并将此 DataTemplate 设置为我的 TableView 的数据模板。

下面的屏幕截图向您展示了我的“getDataFields”方法。在模拟器上运行此代码后,我只收到 NoClassDefFoundError。

你们中有人知道如何做到这一点吗?

设置:BB Eclipse 插件 v1.3、SDK 6.0

在此处输入图像描述

i need to display values of the type "Integer" in a table.
now, what i thought to do, is to simply check for the type "Integer" in the "getDataFields()"
method of DataTemplate and to set this DataTemplate as the datatemplate of my TableView.

The screenshot below shows you my "getDataFields" method. After running this code on a simulator i just get a NoClassDefFoundError.

Do any of you guys have any ideas how to do this?

Setup: BB Eclipse Plugin v1.3, SDK 6.0

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

彼岸花似海 2024-10-25 20:07:46

我们开始吧:)
(注意:我将类型更改为 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”包含不同的元素:字符串和双精度数。我需要用不同的类型传递它们,因为字符串的样式与双精度数不同。

使用上面的代码给了我NoClassDefFoundError,将值作为字符串传递,就像

atx.addElement("2885.19");

完美的作品一样。

Here we go :)
(Note: I changed the type to Double instead of Integer, but it works the same way)

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);
}

What I actually want to do is shown below:

Vector atx = new Vector();
atx.addElement("ATX");
atx.addElement(2885.19);
atx.addElement("-0,14");
kurse.addElement(atx);

So I'm filling the "kurse" Vector with several Vectors. The Vector in the example, "atx", contains different elements, Strings and Doubles. I need to pass them with different types, because Strings are going to be styled differently than Doubles.

Using the code above is giving me the NoClassDefFoundError, passing the value as String instead, like

atx.addElement("2885.19");

works perfectly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文