0

ハッシュマップとアレイリストの問題に直面しています....私の問題は...

私はこのようなHashMapを持っています..

public class QuestionData {
    private String questionID;
    private String question;
    private String answer;
    public String getQuestionID() {
        return questionID;
    }
    public void setQuestionID(String questionID) {
        this.questionID = questionID;
    }
    public String getQuestion() {
        return question;
    }
    public void setQuestion(String question) {
        this.question = question;
    }
    public String getAnswer() {
        return answer;
    }
    public void setAnswer(String answer) {
        this.answer = answer;
    }
}
while (is another question to add) {
  QuestionData questionData = new QuestionData();
  questionData.setQuestionID(questionID);
  questionData.setQuestion(question);
  questionData.setAnswer(answer);
  ArrayList < QuestionData > questionDatas = new ArrayList < QuestionData > ();
  questionDatas.add(questionData);
}
int counter = 0;
Button nextQuestion = (Button) findViewById(R.id.your_button);
nextQuestion.setOnTouchListener(new OnTouchListener() {
   @Override
   public boolean onTouch(View v, MotionEvent event) {
     if (counter < questionDatas.size()) {
         QuestionData question = questionDatas.get(counter);
         showNextQuestion(question);
         counter++;
     }
     return false;
  }
 });
  showNextQuestion(QuestionData data) {
  data.getQuestionID();
  data.getQuestion();
  data getAnswer();
}

しかし、hashmap の 1 つのキーに questionid と question の両方の文字列が必要なので、この 1 つのキーを arraylist に変換したいと考えています...

その後、次のボタンをクリックしたときにarraylistをインクリメントしたい...質問IDに基づいて次の質問を表示するために...

これを行う方法?

4

2 に答える 2

1

質問のデータのみのクラスを作成します

public class QuestionData {

    private String questionID;
    private String question;
    private String answer;
    public String getQuestionID() {
        return questionID;
    }
    public void setQuestionID(String questionID) {
        this.questionID = questionID;
    }
    public String getQuestion() {
        return question;
    }
    public void setQuestion(String question) {
        this.question = question;
    }
    public String getAnswer() {
        return answer;
    }
    public void setAnswer(String answer) {
        this.answer = answer;
    }
}

このデータ構造でハッシュマップを使用します。

    QuestionData questionData = new QuestionData();
        questionData.setQuestionID(questionID);
        questionData.setQuestion(question);
        questionData.setAnswer(answer);
//        HashMap<String, QuestionData> map = new HashMap<String, QuestionData>();
        ArrayList<QuestionData> questionDatas = new ArrayList<QuestionData>();
        questionDatas.add(questionData);
于 2013-01-30T05:28:41.450 に答える
0

私は@ViVartの答えがずっと好きです。彼に追加するには、ボタンを実装できます。

ArrayList<QuestionData> questionDatas = new ArrayList<QuestionData> ();
while (is another question to add) {
    if (firstQuestionParsed) {
        TextView questionID_tv = (TextView) findViewById(R.id.your_textview);
        TextView question_tv = (TextView) findViewById(R.id.your_textview);
        TextView answer_tv = (TextView) findViewById(R.id.your_textview);
        questionID_tv.setText(questionID);
        question_tv.setText(question);
        answer_tv.setText(answer);
    }
    QuestionData questionData = new QuestionData();
    questionData.setQuestionID(questionID);
    questionData.setQuestion(question);
    questionData.setAnswer(answer);
    questionDatas.add(questionData);
}
 int counter = 0;
 Button nextQuestion = (Button) findViewById(R.id.your_button);
 nextQuestion.setOnTouchListener(new OnTouchListener() {
     @Override
     public boolean onTouch(View v, MotionEvent event) {
         if (counter < questionDatas.size()) {
             QuestionData question = questionDatas.get(counter);
             showNextQuestion(question);
             counter++;
         }
         return false;
     }
 });

次に、実装するだけです

showNextQuestion(QuestionData data) {
    data.getQuestionID();
    data.getQuestion();
    data getAnswer();
}
于 2013-01-30T05:29:59.430 に答える