我可以填充我的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);
,但我得到空指针异常。 任何人都可以给我建议吗?任何帮助将非常感激。
可能重复[什么是空指针异常,以及如何解决?(http://stackoverflow.com/questions/218384/what-这是一个空指针异常和如何做我修正它) – Selvin
和免费提示,因为这里有bazillion类似的问题:prolly lv是null,prolly becuase a)你没有设置内容视图b )在使用的布局中,没有ID为R.id.list的ListView ...只是根据我的prev评论进行调试并删除此问题... – Selvin