I am trying to display data from my sqlite database. In my DatabaseHandler.java I have this method:
public List<Item> getAllItemsinList() {
List<Item> itemList = new ArrayList<Item>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_ITEMS;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
Item item = new Item();
item.set_id(Integer.parseInt(cursor.getString(0)));
item.set_name(cursor.getString(1));
item.set_description(cursor.getString(2));
// Adding contact to list
itemList.add(item);
} while (cursor.moveToNext());
}
// return item list
return itemList;
}
It returns a List with the type Item
.
In my MainActivity.java I have this method:
private void populateListViewUsingList(){
List<Item> items;
items = db.getAllItemsinList();
listView = (ListView) findViewById(R.id.listItems);
ArrayAdapter<Item> itemArrayAdapter = new ArrayAdapter<Item>(this,android.R.layout.simple_list_item_1, items);
listView.setAdapter(itemArrayAdapter);
}
The listview is populated, however, objects are being displayed instead of the data the database contains. Example of text being displayed is migueld.rivera.catalogapp.Item@42a97320. What is the correct way of parsing data? Thanks.