У меня есть следующий код, который ничего не делает, кроме чтения некоторых значений из БД в фоновом потоке и использования значений, которые я рисую Линейную диаграмму, используя банку. Для линейной диаграммы я использую значение для каждого массива, и проблема заключается в что третье, что я передаю конструктору, который рисует LineChart, это float ....
float[] viteza;
String[] time;
int contor=0;
public void onResume() {
super.onResume();
init_task = new InitTask();
init_task.execute(db);
}
public class InitTask extends AsyncTask<DBAdapter,String, Void> {
String TABLE_3;
protected Void doInBackground(DBAdapter... db) {
try {
db[0].createDatabase();
db[0].openDataBase();
Cursor c = db[0].getCursor3(db[0].TABLE_3, user_id);
String[] array=new String[2];
viteza = new float[c.getCount()];
time = new String[c.getCount()];
if (c.moveToFirst()) {
do {
publishProgress(c.getString(3),c.getString(4));
Thread.sleep(500);
} while (c.moveToNext());
}
c.close();
db[0].close();
} catch (Exception e) {
Log.d("Eroare", "doInBackground", e);
}
return null;
}
protected void onProgressUpdate(String...values) {
Aitem items[] = new Aitem[1];
viteza[contor]=Float.valueOf(values[0]);
time[contor]=values[1];
if(contor>3)
{
items[0]=new Aitem(Color.RED, "Evolution",viteza);
lv.setTitle("Evolutia vitezei");
lv.setAxisValueX(time);
setContentView(lv);
}
contor++;
}
}
}
Я получаю сообщение об ошибке в этой строке:
viteza[contor]=Float.valueOf(values[0]);
java.lang.NumberFormatException:
at org.apache.harmony.luni.util.FloatingPointParser.parseFltImpl(Native Method)
at org.apache.harmony.luni.util.FloatingPointParser.parseFloat(FloatingPointParser.java:321)
Кто-нибудь знает, что не так?
EDIT:
По моему скромному мнению, значения [0] = c.getString (3) и значения [1] = c.getString (4), так что ... являются строками ... не так ли?