Посмотрите на этот цикл:
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
String[] result1 = { "" + c.getString(iName) };
result = result1.clone();
}
return result;
Вы устанавливаете result1
только для одного элемента массива, а затем result
для клона этого массива. Поэтому result
будет ссылаться только на одноэлементный массив. Я предлагаю вам использовать List<String>
вместо:
List<String> results = new ArrayList<String>();
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
results.add(c.getString(iName));
}
return results;
(Измените свой метод, чтобы объявить, что он также возвращает List<String>
.)
После этого вы сможете использовать
List<String> data = info.getScore01();
tvVVTest.setText(data.get(1)); // Assuming there *is* a second element
Кстати, вы, похоже, используете "" + x
везде, где хотите строку. Это плохая идея, даже когда x
не строка - используйте String.valueOf(x)
вместо этого - но еще хуже, когда x
- строка.
Вам также не нужно клонировать массивы (или списки) повсюду. Да, и вы должны поместить метод info.close()
в блок finally, чтобы закрыть базу данных, даже если выдается исключение.