dimanche 22 février 2015

Populate ListView using List

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.


Aucun commentaire:

Enregistrer un commentaire