2011-12-06 27 views
0

我想动态地将radiobuttons添加到radiogroups,但按钮从不出现。虽然,文字确实如此。我是初学者,所以请指出我做错的一切。RadioGroup's不显示?

使用APKv7(2.1我认为)。

package test.test2; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.*; 

public class TipsActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //setContentView(R.layout.main); 


    //create objects 
    ScrollView scrollv = new ScrollView(this); 
    LinearLayout linlay = new LinearLayout(this); 
    linlay.setOrientation(LinearLayout.VERTICAL); 
    scrollv.addView(linlay); 

    int currentQuestion = 0, questions = 3; 
    int [] answers = new int[4]; 
    answers[0] = 3; 
    answers[1] = 3; 
    answers[2] = 4; 
    answers[3] = 6; 
    while (questions > currentQuestion) {   

     RadioGroup rg = new RadioGroup(this); 

     TextView tv = new TextView(this); 
     tv.setText("Question no. " + currentQuestion); 



     int currentAnswer = 0; 

     while (currentAnswer > answers[currentQuestion]) { 

      RadioButton rb = new RadioButton(this); 
      //rb.setText("Answer no. " + currentAnswer); 
      rg.addView(rb); 
      currentAnswer++; 
     } 

     linlay.addView(rg); 
     linlay.addView(tv); 
     currentQuestion++; 
    } 
    setContentView(scrollv); 
} 
} 

(notEnoughContext notEnoughContext)

回答

1

我认为你应该做你的while循环是这样的:

while (currentAnswer < answers[currentQuestion]) { 

     RadioButton rb = new RadioButton(this); 
     //rb.setText("Answer no. " + currentAnswer); 
     rg.addView(rb); 
     currentAnswer++; 
    } 

问题是,currentAnswer小于任何答案...

+0

太棒了。我知道我检查了<迹象在哪里以相同的方式,因为我虽然那是问题。谢谢! –

+0

没问题:)这件事情发生在我们所有人 – Cata

+0

现在交换currentAnswers和答案[]。它的工作,最后:) –

1

替换此代码:

int currentAnswer = 0; 

while (currentAnswer > answers[currentQuestion]) 

要这样:

int currentAnswer = 0; 

while (currentAnswer < answers[currentQuestion]) 
+0

谢谢你! –