2011-11-02 100 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; 
}