2015-07-21 77 views
-2

我可以填充我的SQLite DB並執行所有CRUD操作。 現在我想填充一個ListView從開始:Android填充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);

,但我得到空指針異常。 任何人都可以給我建議嗎?任何幫助將非常感激。

+0

可能重複[什麼是空指針異常,以及如何解決?(http://stackoverflow.com/questions/218384/what-這是一個空指針異常和如何做我修正它) – Selvin

+0

和免費提示,因爲這裏有bazillion類似的問題:prolly lv是null,prolly becuase a)你沒有設置內容視圖b )在使用的佈局中,沒有ID爲R.id.list的ListView ...只是根據我的prev評論進行調試並刪除此問題... – Selvin

回答