0

我正在尝试将单选按钮动态添加到单选组,但这些按钮永远不会出现。不过,文字确实如此。我是初学者,所以请指出我做错的一切。

使用 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)

4

2 回答 2

1

替换此代码:

int currentAnswer = 0;

while (currentAnswer > answers[currentQuestion])

对此:

int currentAnswer = 0;

while (currentAnswer < answers[currentQuestion])
于 2011-12-06T15:47:46.913 回答
1

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

while (currentAnswer < answers[currentQuestion]) {

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

问题是 currentAnswer 比任何答案都小......

于 2011-12-06T15:52:20.380 回答