Перечисление всех записей j2me

#java-me #midp #lcdui #rms

#java-me #midp #lcdui #rms

Вопрос:

Я хочу перечислить все записи в хранилище записей. Я объявил список:

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

Теперь мне просто нужно знать, как перечислить все записи в списке.

Ответ №1:

Добавьте значение Record into Vector и используйте цикл для добавления Vector значений into 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. Вы имели в виду ‘while(например,hasNextElement())’ ?

Ответ №2:

вы можете использовать следующий код,

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