2015-07-21 2 views
-2

Я могу заполнить свою базу данных SQLite и выполнить все операции CRUD. Теперь я хотел бы заполнить ListView, начиная с:Android заполняет ListView из списка SQLite

List<Starred> data = DBAdapter.getAllUserData(); 

К журнале я могу читать мой список:

for (Starred st : data) 
    Log.d("Title: ", "Title: " + st.getName()); 

Я уверен, что я пропускаю адаптер, но не знаю, как хорошо Начало.

Это моя getAllUserData() функция:

public static List<Starred> getAllUserData() { 

    List<Starred> starredList = new ArrayList<Starred>(); 
    // Select All Query 
    String selectQuery = "SELECT * FROM " + USER_TABLE; 

    final SQLiteDatabase db = open(); 
    Cursor cursor = db.rawQuery (selectQuery, null); 

    if (cursor.moveToFirst()) { 
     do { 
      Starred data = new Starred(); 
      data.setID(Integer.parseInt(cursor.getString(0))); 
      data.setName(cursor.getString(1)); 
      data.setLabel(cursor.getString(2)); 

      // Adding contact to list 
      starredList.add(data); 
     } while (cursor.moveToNext()); 
    } 

    return starredList; 

Я попытался с

ListView lv = (ListView) findViewById(R.id.list); ArrayAdapter<Starred> arrayAdapter = new ArrayAdapter<Starred>( this, android.R.layout.simple_list_item_1, data); lv.setAdapter(arrayAdapter);

, но я получаю NullPointer исключение. Может ли кто-нибудь дать мне предложение? Любая помощь приветствуется.

+0

возможный дубликат [Что такое исключение нулевого указателя, и как это исправить?] (Http://stackoverflow.com/questions/218384/what- is-a-null-pointer-exception-and-how-do-i-fix-it) – Selvin

+0

и бесплатный подсказку, поскольку здесь был такой же вопрос, как и bazillion: plly lv имеет значение null, а не потому, что a) вы не задали представление контента b) нет ListView с id R.id.list на используемом макете ... просто следуйте моему предыдущему комментарию для отладки и удалите этот вопрос ... – Selvin

ответ

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