2011-11-02 99 views
2

我想列出记录存储区中的所有记录。我声明了一个清单:列出所有记录j2me

Private List tlist = new List("Select One", List.IMPLICIT); 

也算进去的记录:

Form mainf; 
Command exit = new Command("Exit", Command.EXIT, 0); 
RecordEnumeration re = null; 
int numrecords = 0; 
    try { 
     re = contactList.enumerateRecords(null, null, false); 
     numrecords = re.numRecords(); 
    } catch (RecordStoreException rse) { numrecords = 0;} 

现在我只需要知道如何列出一个列表中的所有记录。

回答

3

Record加入Vector并使用该循环将Vector值附加到List中。请参见下面的示例代码,

RecordStore s = RecordStore.openRecordStore(recordStoreName, true); 
RecordEnumeration e = s.enumerateRecords(null, null, false); 
Vector vector = new Vector(); 
while(e.hasNextElement()) { 
    vector.addElement(new String(e.nextRecord())); 
} 
List l = new List(null, CENTER); 
for (int i = 0; i < vector.size(); i++) { 
    l.append(vector.elementAt(i).toString(), null); 
} 
+1

你的意思是 '而(e.hasNextElement())'? –

+0

哦,我已经改变了。谢谢史蒂夫。 :) – bharath

1

你可以用下面的代码,

public String [] getRecordData() 
{ 
    String[] str = null; 
    int counter = 0; 
    try 
    { 
     RecordEnumeration enumeration = rs.enumerateRecords(null, null, false); 
     str = new String[rs.getNumRecords()]; 

     while(enumeration.hasNextElement()) 
     { 
      try 
      { 
       str[counter] = (new String(enumeration.nextRecord())); 
       counter ++; 
      } 
      catch (Exception e) 
      { 
       e.printStackTrace(); 
      } 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return str; 
}