我是一名A級(jí)學(xué)生,目前正在進(jìn)行A Level計(jì)算機(jī)科學(xué)控制評(píng)估。我在安卓工作室工作,使用爪哇,XML和SQLite,我以前都沒(méi)有使用過(guò)。我正在構(gòu)建一個(gè)偵察管理器應(yīng)用程序。我目前正在顯示活動(dòng)詳細(xì)信息,特別是受邀參加活動(dòng)的每個(gè)偵察兵的姓名和部分,這將顯示在 ListView 中。唯一的問(wèn)題是,雖然數(shù)據(jù)庫(kù)中有4名偵察兵被邀請(qǐng)參加此活動(dòng),但只顯示3名 - 或者,顯示的偵察兵太少。應(yīng)該指出的是,活動(dòng),邀請(qǐng)和偵察員有單獨(dú)的表格。邀請(qǐng)表將參加活動(dòng)的ID和參加活動(dòng)的偵察員的ID匹配在一起 - 因此,在顯示偵察兵的詳細(xì)信息之前,我找到參加某個(gè)活動(dòng)的所有邀請(qǐng),然后是參加活動(dòng)的個(gè)人偵察員。下面是用于從數(shù)據(jù)庫(kù)(從我的數(shù)據(jù)庫(kù)Handler類)獲取給定事件的邀請(qǐng)的代碼:public Cursor getEventInvites(int sessionid) { String[] columns={COLUMN_INID + " AS " + BaseColumns._ID, COLUMN_SEID, COLUMN_SCID}; String selection=COLUMN_SEID + " =? "; String[] selectionArgs={String.valueOf(sessionid)}; Cursor cursor=db.query(TABLE_INVITES, columns, selection, selectionArgs, null, null, null); return cursor;}下面是用于在列表框中顯示詳細(xì)信息的代碼:ListView scoutslist = findViewById(R.id.listScouts);scoutdetailslist=new ArrayList<String>();scoutadapter=new ArrayAdapter<String>(context, android.R.layout.simple_list_item_multiple_choice, scoutdetailslist);//ArrayList<int>Cursor invites;invites=DatabaseHandler.getEventInvites(sessionid);invites.moveToFirst();try { while (invites.moveToNext()) { int ScoutID = invites.getInt(invites.getColumnIndex(DatabaseHandler.COLUMN_SCID)); Cursor scout = DatabaseHandler.getScout(ScoutID); String forename = scout.getString(scout.getColumnIndex(DatabaseHandler.COLUMN_FNAME)); String surname = scout.getString(scout.getColumnIndex(DatabaseHandler.COLUMN_LNAME)); String section = scout.getString(scout.getColumnIndex(DatabaseHandler.COLUMN_SECTION)); String ScoutBasicDetails = forename + " " + surname + ", " + section; scoutdetailslist.add(ScoutBasicDetails); }} finally { invites.close();}scoutslist.setAdapter(scoutadapter);任何幫助將不勝感激 - 而且,我是新手,而且很累,所以如果我遺漏了重要的細(xì)節(jié)或不清楚,請(qǐng)不要猶豫,發(fā)表評(píng)論并要求我修改問(wèn)題。
1 回答

斯蒂芬大帝
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
您將移動(dòng)到第一項(xiàng),然后立即移動(dòng)到下一項(xiàng)(從而跳過(guò)第一項(xiàng)):
invites.moveToFirst();
try {
while (invites.moveToNext()) {
考慮一個(gè)僅在調(diào)用成功時(shí)執(zhí)行的 do while 循環(huán)。moveToFirst()
添加回答
舉報(bào)
0/150
提交
取消