2012-01-11 1 views
0

내 질문에 작은 게임에 대한 답변을 데이터베이스 파일에서 표시하고 있습니다. 질문은 텍스트보기에 있으며 답변은 radiobuttons.no에 있습니다. 데이터는 정확하게 내가 원하는 방식으로 표시되지만 데이터를 선택할 때 라디오 버튼의 첫 번째 옵션 만 올바른 대답 일 경우에만 올바른 ansnwer로 선택됩니다. mainactivity 내 코드는 다음과 같습니다`showQuestion = (TextView) findViewById (R.id.tvQuestions); showAnswer = (TextView) findViewById (R.id.tvShowAnswer);첫 번째 옵션 만 표시하는 라디오 버튼과 안드로이드의 모든 잘못된 데이터를 보여주는 다른 버튼

radioGroup = (RadioGroup) findViewById(R.id.radioGroup1); 
    r0 = (RadioButton) findViewById(R.id.radio0); 
    r1 = (RadioButton) findViewById(R.id.radio1); 
    r2 = (RadioButton) findViewById(R.id.radio2); 
    r3 = (RadioButton) findViewById(R.id.radio3); 
    bsubmit = (Button) findViewById(R.id.bsubmit); 
    bsubmit.setOnClickListener(this); 

       String shoow = myDb.makeatext(levels, Qno); 
    String showextra1 = myDb.makeExtra1(levels, Qno); 
    String showextra2 = myDb.makeExtra2(levels, Qno); 
    String showextra3 = myDb.makeExtra3(levels, Qno); 
    String showextra4 = myDb.makeExtra4(levels, Qno); 

    // String showextra4 =myDb.makeanswers(levels, Qno); 

    showQuestion.setText(shoow); 
    r0.setText(showextra1); 

    r1.setText(showextra2); 

    r2.setText(showextra3); 

    r3.setText(showextra4); 

및 데이터 검사를 시도하는 onclick() 메소드에서 데이터가 올바른 경우에만 첫 번째 라디오 버튼 응답 만 올바른 것으로 표시됩니다. 내가 큰 도움을

감사 매디 될 것입니다 안드로이드 .IT에 새로운 오전 그것의

public void onClick(View v) { 
    strat = System.currentTimeMillis(); 
    data = myDb.makeanswers(levels, Qno); 
    // TODO Auto-generated method stub 
    switch (v.getId()) { 
    case R.id.bsubmit: 
     if (r0.isChecked() == true) 

     { 
      if (r0.getText().toString().equalsIgnoreCase(data)) { 
       showAnswer.setText("your answer is correct:" +r0.getText()); 

      } else { 
       showAnswer.setText("your answer is wrong.the answer is:" 
         + data); 

      } 
     } 
     if (r1.isChecked() == true) 

     { 
      if (r1.getText().toString().equalsIgnoreCase(data)) { 
       showAnswer.setText("your answer is correct:" + r1.getText()); 

      } else { 
       showAnswer.setText("your answer is wrong.the answer is:" 
         + data); 

      } 

     } 
     if (r2.isChecked() == true) 

     { 
      if (r2.getText().toString().equalsIgnoreCase(data)) { 
       showAnswer.setText("your answer is correct:" + r2.getText()); 

      } else { 
       showAnswer.setText("your answer is wrong.the answer is:" 
         + data); 

      } 

     } 
     if (r3.isChecked() == true) 

     { 
      if (r3.getText().toString().equalsIgnoreCase(data)) { 
       showAnswer.setText("your answer is correct:" + r3.getText()); 

      } else { 
       showAnswer.setText("your answer is wrong.the answer is:" 
         + data); 

      } 
     }}} 

PLZ 도와주세요.

답변

1

당신은 확인 버튼을 사용하여 답을 비교해야 그 이후이

case R.id.save_profile: 
     if(((RadioButton)findViewById(R.id.radio0)).isChecked()){ 
      Answer=(RadioButton)findViewById(R.id.radio0)).getText().toString(); 
     } 
     if(((RadioButton)findViewById(R.id.radio1)).isChecked()){ 
      Answer=(RadioButton)findViewById(R.id.radio0)).getText().toString(); 
     } 

     // compare here your option...... 


break; 

처럼 할 시도하십시오.

+0

완벽한 작동 코드 내 조각이다. – MADDY

+0

당신은 문자열 형식으로 받아 들일 수 있습니다 –

+0

잘 내가 문자열 형식을 시도했지만 라디오 버튼에서 문자열로 – MADDY

0

코드가 완벽합니다. 그것은 나를 위해 작동합니다. 데이터베이스 검색 및 makeanswer() 메소드가 올바른지 확인하십시오.

+0

잘 makeanswer() 메서드를 확인하고 다른보기로 데이터를 표시하려고합니다. 문제는 대답이 맞으면 첫 번째 라디오 버튼 코드 만 확인합니다. 답이 잘못되면 첫 번째 라디오에 대해 확인한 ELSE를 실행하고있는 것입니다. 다른 라디오의 경우 쓰기 또는 잘못되어 ELSE가 실행됩니다. 내 문제는 무엇입니까 – MADDY

0
rb1=(RadioButton)findViewById(R.id.rb1); 
    rb2=(RadioButton)findViewById(R.id.rb2); 
    rb3=(RadioButton)findViewById(R.id.rb3); 
    rb4=(RadioButton)findViewById(R.id.rb4); 

rb1.setText("");//get from database options 
rb2.setText("");//get from database options 
rb3.setText("");//get from database options 
rb4.setText("");//get from database options 


//***********onclick of submit button{ 

int rd1=r_group.getCheckedRadioButtonId(); 
      String textt = "" ; 
/************for error if not click on radio btn**********************/ 
      if(rd1==-1) 

      { 
       { 
       AlertDialog ad=new AlertDialog.Builder(Mind_Boost_First.this).create(); 
       ad.setTitle("error"); 
       ad.setMessage("plz select any radio button"); 
       ad.setIcon(R.drawable.cross); 
       ad.setButton("ok",new DialogInterface.OnClickListener() { 

        @Override 
        public void onClick(DialogInterface paramDialogInterface, int paramInt) { 
         // TODO Auto-generated method stub 

        } 
       }); 
       ad.show(); 
       }} 
/****************************** get radio checked to textt**************************/ 
      else 
      { 

       switch(rd1) 
       { 
        case R.id.rb1: 
       textt =rb1.getText().toString().trim(); 
         Log.e("rrrrrrrrbbbbbbbb11111111",""+rb1.getText().toString().trim()); 
         break; 
        case R.id.rb2: 
       textt = rb2.getText().toString().trim(); 
         Log.e("rrrrrrrrbbbbbbbb222222222",""+rb1.getText().toString().trim()); 
         break; 
        case R.id.rb3: 
       textt = rb3.getText().toString(); 
         Log.e("rrrrrrrrbbbbbbbb3333333333",""+rb1.getText().toString().trim()); 
         break; 
        case R.id.rb4: 
       textt = rb4.getText().toString(); 
         Log.e("rrrrrrrrbbbbbbbb4444444444",""+rb1.getText().toString().trim()); 
         break; 
        } 


/*get correct value in str*/ 

       String str=c.getString(6).trim(); 

       r_group.clearCheck(); 




       /*reset value of lable */ 

이이 코드에 응답의 데이터 유형 뭔지

+0

해결책을 얻었습니까? –

관련 문제