2016-11-15 3 views
0

После этого урока question на Stackoverflow. После запроса базы данных у меня есть записи в переменной results. Как форматировать результаты так, чтобы это был массив. Ниже приведен пример:Форматировать результаты базы данных как разделенные запятой

lvActivityCategory.setAdapter(new categoryCursorAdaptor(this, new String[] { "data1", "data2" })); 

Это код, который я работаю с:

 List<String> arrayCatNames = new ArrayList<String>(); 
     String query = "SELECT * FROM category ORDER BY name ASC"; 
     Cursor results = myDB.rawQuery(query, null); 
     while(results.moveToNext()){ 
      String catName = results.getString(results.getColumnIndex("name")); 
      arrayCatNames.add(catName); 
     } 
     android.text.TextUtils.join(",", arrayCatNames); 
     lvActivityCategory = (ListView) findViewById(R.id.lvActivityCategory); 
     lvActivityCategory.setAdapter(new categoryCursorAdaptor(this, new String[] { arrayCatNames })); //arrayCatNames should be e.g. "item 1", "item 2", "item 3" 
+0

Вы пытаетесь преобразовать ArrayList arrayCatNames в массив? –

+0

@HtmlTosin Да, это правильно –

ответ

1

Хорошо, сделайте это ниже, после цикла в то время как

String[] catNamesArr = new String[arrayCatNames.size()]; 
catNamesArr = arrayCatNames.toArray(catNamesArr); 

Вы можете узнать больше этот вопрос: Convert ArrayList<String> to String[] array

+1

Спасибо, что работает! –