Как данные курсора превратить в массив

298
29 марта 2017, 15:38

Первый код

Cursor c = db.query("friends", new String[]{"_id","firstname","lastname"}, "_id" + "<=?", new String[]{"100"}, null, null, null, null);

Второй код

ArrayList<String> data=new ArrayList<String>(Arrays.asList("one","two","three","four","five","six","seven","eight","nine","ten"));  
setContentView(R.layout.activity_main);
lv=(ListView)findViewById(R.id.listView1);  
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);
lv.setAdapter(adapter);

Подскажите теперь как связать эти два кода, чтобы вместо массива data во втором коде поставились данные из курсора в первом коде.

Answer 1
while (cursor.moveToNext()) { 
    String firstname = cursor.getString(cursor.getColumnIndex("firstname"));
    String lastname = cursor.getString(cursor.getColumnIndex("lastname"));
    data.add(firstname + " " + lastname);              
}
Answer 2

Есть готовый способ из коробки, называется SimpleCursorAdapter, в конструкторе надо маппить какие поля курсора каким колонкам соответствуют.

Фтыкать здесь

new SimpleCursorAdapter(this,
                R.layout.container_list_item_view, null,
                new String[] { MYCOLUMN1, MYCOLUMN2 },
                new int[] { R.id.list_item1, R.id.list_item2 });
READ ALSO
Хранение много-тайловых объектов в тайл-карте

Хранение много-тайловых объектов в тайл-карте

Здравствуйте! Мне нобходимо найти способ хранить тайлы, с размерами больше 1x1 в стандартной тайл-карте (tilemap, как по русски то?)

358
Настройка шрифта в IntelliJ IDEA

Настройка шрифта в IntelliJ IDEA

Подскажите пожалуйста, как "утолстить" шрифт в IntelliJ IDEА? Просто в Windows он настолько тонок, что смотреть неприятно

526
Кодировка текстовых файлов

Кодировка текстовых файлов

Недавно столкнулся с проблемой: при считывании из текстового файла, русские символы преобразовывались в '�', при том, что раньше такого не было

292
Spring не находит @Qualifier

Spring не находит @Qualifier

Имею кастомный квалификатор, суть в том что есть три бина помеченные квалификаторомНо почему-то один из них не находит

358