2012-01-11 31 views
0

在我的問題都是錯的數據可以回答小遊戲我顯示從數據庫文件中的問題和答案。 問題是在文本視圖和答案都在radiobuttons.no數據準確顯示我想要的方式,但是當我選擇數據僅單選按鈕的第一個選項被選擇,只有當它是正確的答案是正確的ansnwer。我在mainactivity中的代碼如下所示:showQuestion =(TextView)findViewById(R.id.tvQuestions); showAnswer =(TextView)findViewById(R.id.tvShowAnswer);單選按鈕和其他人顯示的Android

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()方法試圖檢查數據,但它是僅示出第一個單選按鈕回答爲正確如果數據僅僅是正確的。

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 2012-01-11 08:21:27

+0

你可以把它作爲一個String類型 – 2012-01-11 09:33:57

+0

嗯,我試過字符串類型,但它給一個錯誤不能從單選按鈕隱蔽串 – MADDY 2012-01-11 09:42:27

0

你的代碼是完美的。這個對我有用。只要檢查你的數據庫檢索和方法makeanswer()是否正確。

+0

好吧,我檢查了makeanswer()方法,並嘗試將數據顯示到一些其他的看法。問題是,如果答案是正確的,那麼它只檢查第一個單選按鈕代碼。如果答案錯誤,那麼第一個單選按鈕正在執行ELSE。對於其他無線電它是要麼寫或錯誤它正在執行ELSE語句,這是我的問題 – MADDY 2012-01-11 08:31:26

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

你得到你的解決方案? – 2012-01-12 06:50:30