2011-02-22 45 views
0

我需要在表中顯示「Integer」類型的值。 現在,我想要做的是簡單地在DataTemplate的「getDataFields()」方法中檢查「Integer」類型,並將此DataTemplate設置爲我的TableView的數據模板。如何在BlackBerry表中顯示Integer值

下面的截圖顯示了我的「getDataFields」方法。在模擬器上運行此代碼後,我只是得到一個NoClassDefFoundError。

做你們任何人有任何想法如何做到這一點?

設置:BB Eclipse插件V1.3,SDK 6.0

enter image description here

+2

NoClassDefFoundError將指示它正在尋找什麼類。這是診斷問題的有用信息。另外,代碼的截圖很難閱讀。你能複製和粘貼實際的字符嗎? StackOverflow具有語法高亮顯示功能。 – 2011-02-23 06:07:22

回答

0

在這裏,我們去:)
(注:我改變了類型爲Double而不是整數,但它的工作原理同樣的方式)

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,傳遞值作爲字符串代替,像

atx.addElement("2885.19"); 

完美。

相關問題