2

私はアンドロイドが初めてです..

次の質問を表示しているときに、Nextbutton で問題に直面しています...

私の初めてのセットテキストでは、正しい質問を取得し、4 つのオプションの回答に一致しました。私が必要としていたのは..

次の質問と回答を表示するための次のボタンがあります.次のボタンをクリックすると、次の質問の次の4つのオプションを取得できます..しかし、次の質問を4回クリックしても次の質問を表示できません。 ..しかし、答えは正しいです。

何が間違っているのですか?何が欠けていますか?

助けていただければ幸いです...よろしくお願いします..

      protected String doInBackground(String... args) {
    List<NameValuePair> params = new ArrayList<NameValuePair>();
        System.out.println("cool");
    params.add(new BasicNameValuePair("tid", tid));
    json = jsonParser.makeHttpRequest(url_get_quesurl, "GET", params);
    System.out.println("ques value got");
    Log.d("All Groups: ", json.toString());
        System.out.println("question");
    try {
    int success = json.getInt(TAG_SUCCESS);
    System.out.println("Success");
    if (success == 1) {
    System.out.println("Success");
    groups = json.getJSONArray(TAG_GROUP);
    System.out.println("Result Success+++"+groups);
    for (int i = 0; i < groups.length();i++) {
    JSONObject c = groups.getJSONObject(i);
          String question = c.getString(TAG_QUES);
      System.out.println("Checking ::"+question);
    ques1.add(question);
    String answer = c.getString(TAG_ANSW);
    System.out.println("Checking ::"+answer);
    answ1.add(answer);
           }
        } else {
            showAlert();
        }
    } catch (JSONException e) {
        System.out.println("Error "+e.toString());
    }
    return null;
}  
   protected void onPostExecute(String file_url) {
    pDialog.dismiss();
      ques1=new ArrayList<String>(new ArrayList<String>(ques1));
            //  j=0;
            TextView txtque = (TextView) findViewById(R.id.que_txt); 
            txtque.setText(ques1.get(j));
    answ1=new ArrayList<String>(new ArrayList<String>(answ1));
            btn_practice1.setText(answ1.get(0));
            btn_practice2.setText(answ1.get(1));
            btn_practice3.setText(answ1.get(2));
            btn_practice4.setText(answ1.get(3));
         btn_practicerg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(RadioGroup group, int checkedId) { 
                    RadioButton radioButton = (RadioButton) findViewById(checkedId);
                   // Toast.makeText(Question.this, "" + radioButton.getText(), 2000).show(); 
                    TextView txtRadio = (TextView) findViewById(R.id.rdtxt); 
                    txtRadio.setText("" + radioButton.getText());
                }
    });
        Button nextBtn = (Button) findViewById(R.id.nxt_btn);
        nextBtn.setOnClickListener(new Button.OnClickListener(){
          public void onClick(View v){  
          j++;
        TextView txtque = (TextView) findViewById(R.id.que_txt); 
        txtque.setText(ques1.get(j)); 
        k++;
        btn_practice1.setText(answ1.get((k*4)+0));
        btn_practice2.setText(answ1.get((k*4)+1));
        btn_practice3.setText(answ1.get((k*4)+2));
        btn_practice4.setText(answ1.get((k*4)+3));
         }
       });
}
4

2 に答える 2

1

問題は、その時点で答えを answ1 配列に保存していて、4 つの空の文字列が ques1 配列に追加されているため、ボタンを 4 回押した後に次の質問を取得していることです....

そのためには、質問用と回答用の 2 つのインデックスを維持します。

于 2013-02-01T06:15:14.130 に答える