J2ME,Quizz使用choiceGroups

时间:2015-04-26 12:00:56

标签: java xml-parsing java-me

我正在研究j2Me上的驾驶执照项目,其中包括像quizz这样的测试,在解析问题并将它们移动到choiceGroups之后我遇到了问题:



if (questions.length > 0) {
  for (int i = 0; i < questions.length; i++) {

    ChoiceGroup reponses = new ChoiceGroup("Reponses" + i, Choice.EXCLUSIVE);
    reponses.append(questions[i].getReponse1(), null);
    reponses.append(questions[i].getReponse2(), null);
    reponses.append(questions[i].getReponse3(), null);
    pass.append(questions[i].getContenu());
    pass.append(reponses);

  }
}

} catch (Exception e) {
  System.out.println("Exception:" + e.toString());
}
disp.setCurrent(pass);
&#13;
&#13;
&#13;

并且下一步是命令谁控制choiceGroups来测试它们,如果它们是真正的答案。 所以我在这里被封锁了。

&#13;
&#13;
  if (c == valider) {
    int result = 0;
    for (int i = 0; i < pass.size(); i++) {

      String ch = pass.get(i).getLabel();
      System.out.println(ch);

    }

  }
&#13;
&#13;
&#13;

我不知道如何从选择组中做出选择 任何帮助

1 个答案:

答案 0 :(得分:0)

实际上,我不确定你想要的是什么:

此代码将帮助您从我很久以前做过的选择组中获取所选项目:

//get a selected array in choicegroup
    private String[] choiceGroupSelected(ChoiceGroup cg) {
        String selectedArray[] = new String[cg.size()];
        int k = 0;
        for (int i = 0; i < cg.size(); i++) {
            if (cg.isSelected(i)) {
                selectedArray[k] = cg.getString(i);
                k++;
            }
        }
        return selectedArray;
    }

该功能将帮助我获取以下所有选定项目以删除操作:

private void deleteSpecificItem() {
        try {
            String temp = null;
            int index;
            //get ChoiceGroup size
            int numbers = cgTrip.size();
            String selectedItems[] = choiceGroupSelected(cgTrip);
            //
            rs = services.RecordStoreManager.openRecordStoreByName("TripRS");
            re = rs.enumerateRecords(null, null, true);
            String[] tripList = new String[2];
            for (int i = 0; i < numbers; i++) {
                temp = selectedItems[i];
                if (temp != null) {
                    while (re.hasNextElement()) {
                        try {
                            index = re.nextRecordId();
                            System.out.println("RecordID: " + index);
                            byte[] byteBuff = rs.getRecord(index);
                            String source = new String(byteBuff);
                            tripList = services.StringManager.getItems(source, ";", 2);
                            String strProcess = tripList[0] + "-" + tripList[1];
                            //inspect all of items in choicegroup and if they are selecting then compare with record
                            //If comparison is true then delete this record
                            if (temp.equals(strProcess)) {
                                System.out.println("Delete RecordID: " + index);
                                rs.deleteRecord(index);
                                re.keepUpdated(true);
                                break;
                            }
                        } catch (RecordStoreException ex) {
                            ex.printStackTrace();
                        }
                    }
                }
            }
            try {
                rs.closeRecordStore();
            } catch (RecordStoreException ex) {
                ex.printStackTrace();
            }
            rs = null;
            re.destroy();
            this.LoadTripItem();
        } catch (RecordStoreNotOpenException ex) {
            ex.printStackTrace();
        }
    }