我需要从光标中获取一个值。值必须采用以下格式:
List<double[]> values = new ArrayList<double[]>();
问题是,当我执行“.add”时,错误要求我将其更改为“length”。我必须将它放在列表中才能使应用程序正常工作。这是我的代码,有没有办法做到这一点?我究竟做错了什么?
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
} ;
谢谢Mike!
答案 0 :(得分:0)
首先,你永远不应该解释错误。如果您收到错误,请将其复制并粘贴到您的问题中。
关于你的问题:
您有一个双数组列表,即您的cValues列表中的每个条目都需要是double []。相反,你只是添加一个简单的双。那不行。我不知道你的列表应该如何设置,如果你错误地放入[]或者你真的需要一个数组列表,但假设每个条目都需要一个double的数组,那么你需要添加new double[] { value }
。
旁注:为什么不简单while (cursor.moveToNext()) { ... }
而不是这个do / while构造?