我创建了一个 Contact 类,其中包含 SQL 数据库的一般结构。我希望以列表的形式接收数据,因此我在 MainActivity 中使用以下代码
List<Contact> contacts = db.getAllContacts();
// Error in this line
ArrayAdapter adapter = new ArrayAdapter<List<Contact>>(this, R.layout.activity_main, contacts);
contactList.setAdapter(adapter);
这会产生错误无法解析构造函数
getAllContacts() 看起来像这样
public List<Contact> getAllContacts() {
List<Contact> contactList = new ArrayList<Contact>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
Contact contact = new Contact();
contact.setID(Integer.parseInt(cursor.getString(0)));
contact.setName(cursor.getString(1));
contact.setPhoneNumber(cursor.getString(2));
// Adding contact to list
contactList.add(contact);
} while (cursor.moveToNext());
}
// return contact list
return contactList;
}
那么我如何接收列表数据并填充我的列表?
最佳答案
ArrayAdapter 的模板是记录类型,在您的情况下是客户,而不是列表 所以正确的代码是
ArrayAdapter adapter = new ArrayAdapter<Contact>(this, R.layout.activity_main, contacts);
关于java - 在 ListView 中使用 List<Custom_Class>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39956333/