如何在列表视图中显示表的所有记录?
问题描述:
这是我的查询类,它有方法getuserEvents()
,我想显示我的表中的所有记录在另一个类,但我面临的问题只给我第一个记录。如何在列表视图中显示表的所有记录?
public ArrayList<String> getUserEvents() {
ArrayList<String> EventsList = new ArrayList<String>();
Cursor c = this.database.rawQuery("select FEventId, FEventName, FEventDescription, FEventStatus, FEventReligion, FromDate, ToDate from tblApEvents", new String[]{});
if (c.moveToFirst()) {
do {
EventsList.add(c.getString(0));
EventsList.add(c.getString(1));
EventsList.add(c.getString(2));
EventsList.add(c.getString(3));
EventsList.add(c.getString(4));
EventsList.add(c.getString(5));
EventsList.add(c.getString(6));
} while (c.moveToNext());
}
return EventsList;
}
QueryClass qc = new QueryClass(getApplication());
qc.open();
EventsList=qc.getUserEvents();
if (!EventsList.equals("")) {
id.add(EventsList.get(0));
EventName.add(EventsList.get(1));
EDescription.add(EventsList.get(2));
EStatus.add(EventsList.get(3));
EReligion.add(EventsList.get(4));
EventTDate.add(EventsList.get(7));
qc.close();
}
答
你的方法应该是这样的:
public ArrayList<Event> getUserEvents() {
ArrayList<Event> EventsList = new ArrayList<>();
Cursor c = this.database.rawQuery("select FEventId, FEventName, FEventDescription, FEventStatus, FEventReligion, FromDate, ToDate from tblApEvents", new String[]{});
if (c.moveToFirst()) {
do {
EventsList.add(new Event(c.getString(0),c.getString(1),c.getString(2),c.getString(3),c.getString(4),c.getString(5),c.getString(6)));
} while (c.moveToNext());
}
return EventsList;
}
您Event
类:
class Event{
private String FEventId;
private String FEventName;
// other members
//parameterized constructor
// setter and getter
}
终于创建custom adapter
和填充Event
数据的listview
+0
它没有解决我的问题。任何帮助? – Usman
请帮我代码正确,如果你可以 – Usman
@Rustam正确的方法是SimpleCursorAdapter – pskink
是的,这也将是很好的接近@pskink – Rustam