2010-11-21 3 views
0

В моем приложении используется простая база данных SQLite. Все работает отлично, теперь я могу представить Toast с выбранной строкой из обратного запроса с помощью:Android populate listview с помощью курсора

{ 
    //etc etc etc... 

    c.movetofirst(); 
    DisplayTitle(c); 
} 
public void DisplayTitle(Cursor c) 
{ 
    Toast.makeText(main.this, 
      "id: " + c.getString(0) + "\n" + 
      "reg: " + c.getString(1) + "\n" + 
      "type: " + c.getString(2) + "\n", 
      Toast.LENGTH_LONG).show();   
} 

Я хочу prsent всех данных курсора на экран с помощью представления, но я не уверен, как идти об этом. Какой вид я должен использовать? Я просто wnt просто выглядящее представление сетки, которое позволяет мне прокручивать каждую строку в курсоре

Заранее спасибо.

ответ

2

Как я могу показать ВСЕ строки в курсоре?

Есть несколько способов, если вы работаете с Cursor, например, увидеть «MoveTo» связанные методы, вот пример:

Set<Item> items = new HashSet<Item>(c.getCount()); 
if (c.moveToFirst()) { 
      do { 
       Item i = new Item(select(c.getString(0), c.getString(1), c.getString(2)); 
       set.add(i); 
      } while (c.moveToNext()); 
     } 
     if (!c.isClosed()) { 
      c.close(); 
     } 

Это предполагает Item класс данных, который имеет конструктор с тремя параметрами String. Переход с кодом, идентификатором, регистром и типом. Обычно столбец 0 будет числовым идентификатором (а не getString, но SQLite использует «манифестную типизацию», поэтому он будет сортировать dyna-тип a String/Long из столбца 0 - вы можете использовать AUTOINCREMENT и использовать getLong там).

У вас есть коллекция предметов, вы можете делать все, что хотите, с их отображением. Если вам нужен список прокрутки/выбора, то ListView - отличный выбор. И вы можете вернуть его с помощью CursorAdapter.

Вот пример ListView, который заполняется с помощью CursorAdapter из проекта с открытым исходным кодом: http://code.google.com/p/and-bookworm/source/browse/trunk/src/com/totsp/bookworm/Main.java (см внутреннего BookCursorAdapter класса, он должен получить вы указали в правильном направлении).

+0

У меня уже есть способ для заполнения курсора всеми строками в таблице, о чем я прошу, как представить это на экране. Я хочу использовать представление для представления всех данных в курсоре на экране. извините, если я был не очень ясен! – brux

+0

Я обновил ответ, после того как вы обновили вопрос;). Если вы хотите простую прокручиваемую «сетку», и у вас уже есть курсор, тогда ListView/CursorAdapter - это билет. –

+0

Спасибо вам за ссылку im, которая смотрит – brux

Смежные вопросы