Android проблема получения Arraylistот курсора - PullRequest
1 голос
/ 05 декабря 2010

Мне нужно получить значение из моего курсора. Значение должно быть в следующем формате:

        List<double[]> values = new ArrayList<double[]>();

Проблема в том, что, когда я делаю ".add", это ошибка, когда я хочу изменить его на "длину". Я должен иметь его в списке, чтобы приложение работало вообще. Вот мой код, есть ли способ сделать это? Что я делаю неправильно?

    cursor = managedQuery(Provider.CONTENT_URI,
            proj,
            null,
            null,
            null);

            while (cursor.moveToNext()) { 
        double value; 
        column_value = cursor.getColumnIndex(CsvProvider.VALUE);
        value = cursor.getDouble(column_value);
        values.add(value); //this did not work
        values.add(new double[] {value}); //this did work
    } ;

Спасибо, Майк!

1 Ответ

0 голосов
/ 05 декабря 2010

Прежде всего, вы никогда не должны перефразировать ошибки. Если вы получили ошибку, скопируйте и вставьте ее в свой вопрос.

Что касается вашей проблемы:

У вас есть список двойных массивов, т. Е. Каждая запись в вашем списке cValues ​​должна быть двойной []. Однако вместо этого вы просто добавляете простой дубль. Это не сработает. Я не знаю, как ваш список должен быть настроен, если вы вставили [] по ошибке или если вам действительно нужен список массивов, но при условии, что для каждой записи нужен массив из одного двойного числа, вам нужно new double[] { value }.

Примечание: почему бы не просто while (cursor.moveToNext()) { ... } вместо конструкции do / while?

...