如何在android中为静态创建的单选按钮编写onclick操作?

如何在android中为静态创建的单选按钮编写onclick操作?,android,Android,我正在开发android问答应用程序。在我的屏幕上,我用“下一步”按钮显示一个问题和选项(静态显示4个单选按钮)。i、 e当再次单击“下一步”按钮时 将显示下一个问题及其选项。实际上我有一根绳子 str = |ques1@opid1@option1@opid2@option2@opid3@option3@opid4@opotion4|ques2@opid1@option1@opid2@option2@opid3@option3@opid4@opotion4|ques3@opid1@option

我正在开发android问答应用程序。在我的屏幕上,我用“下一步”按钮显示一个问题和选项(静态显示4个单选按钮)。i、 e当再次单击“下一步”按钮时 将显示下一个问题及其选项。实际上我有一根绳子

 str = |ques1@opid1@option1@opid2@option2@opid3@option3@opid4@opotion4|ques2@opid1@option1@opid2@option2@opid3@option3@opid4@opotion4|ques3@opid1@option1@opid2@option2@opid3@option3@opid4@opotion4 
现在我用“|”拆分str数组,并将数据存储到str1中。 所以

str1[1]=ques1@opid1@option1@opid2@option2@opid3@option3@opid4 str1[2]=ques2@opid1@option1@opid2@option2@opid3@option3@opid4

Now again I splitted the str1 array with "@" and stored the data in str2.
So,

 str2[0] = ques1
          str2[1] = opid1
    str2[2] = option1
    str2[3] = opid2
    str2[4] = option2
    str2[5] = opid3
    str2[6] = option3
    str2[7] = opid4
    str2[8] = option4

So after getting these values i am setting it to 
tv.setText(str2[0]);
answer1.setText(str2[2]);
answer2.setText(str2[4]);
answer3.setText(str2[6]);
answer4.setText(str2[8]);
然后在next button click action中,我编写了以下代码

int i = 1;
public void next(View v) {

    if (i < str1.length - 1) {
        i++;
        str3 = str1[i].trim().split("[@]");             
        tv.setText(str3[0]);            
        answers.check(-1);
        answer1.setText(str3[2]);
        answer2.setText(str3[4]);
        answer3.setText(str3[6]);
        answer4.setText(str3[8]);       
    }
inti=1;
下一个公共空间(视图五){
如果(i
现在一切正常。我的下一个要求是获取所选的选项值并将其存储在数组中。我还需要将选项id值设置为单选按钮 选择并再次获取id值。例如,对于第一个问题,我选择了第二个单选按钮,因此我想将该选项id设置为radiobtn.setid(opid2)我想得到选中的单选按钮id。因为我静态地保留单选按钮,所以我不知道如何设置单选按钮的id,如何将onclick操作写入单选按钮。
我正在努力解决这个问题。任何帮助都会非常感激。

您可以尝试下面的方法

if(rd.isChecked()==true) // rd is the radio button
 {
  String selected =rd.getText().toString();// get the radio button text

 }
要设置id,可以使用rd.setId(intvalue)并获取id rd.getId()。

请这样使用

    if(arg0==btnnext)
    {
    Log.v(TAG+"onClick", "onClick method call");
    //btnback.setVisibility(View.VISIBLE);

    if(rboption1.isChecked())
    {
        Log.v(TAG+".onClick", "option 1 selected");

        check=1;
    }
    else if(rboption2.isChecked())
    {
        Log.v(TAG+".onClick", "option 2 selected");
        check=2;
    }
    else if(rboption3.isChecked())
    {
        Log.v(TAG+".onClick", "option 3 selected");
        check=3;
    }

    else if(rboption4.isChecked())
    {
        Log.v(TAG+".onClick", "option 4 selected");
        check=4;
    }

    else
    {
        Log.v(TAG+".onClick", "No any option is selected");
        check=0;
    }

    if(Integer.parseInt(answer1)==check)
    {
        correctans++;
        Log.v(TAG+"onClick", "Correct answer are:" + correctans);
    }
    else if(check == 0)
    {
        unattempted++;
        Log.v(TAG+"onClick", "unattempted questions:" + unattempted);

    }
    else 
    {
        incorrectans++;
        Log.v(TAG+"onClick", "Wrong answer are:" + incorrectans);
    }

    atempted= correctans+incorrectans;
    attemptedquestions.setText("Attempted : "+atempted);
    // insert into table where that select the 

    index++;

    if(i++ < (list1.size()-1))
    {
        questionanswerbean=list1.get(i);
        Question=questionanswerbean.getQuestion_text();
        Option1=questionanswerbean.getAnswer_choice_1();
        Option2=questionanswerbean.getAnswer_choice_2();
        Option3=questionanswerbean.getAnswer_choice_3();
        Option4=questionanswerbean.getAnswer_choice_4();
            Log.v(TAG+".Oncraete", "Viewing Question ->" + Question);
            Log.v(TAG+".Oncraete", "Viewing Option1 ->" + Option1);
            Log.v(TAG+".Oncraete", "Viewing Option2 ->" + Option2);
            Log.v(TAG+".Oncraete", "Viewing Option3 ->" + Option3);
            Log.v(TAG+".Oncraete", "Viewing Option4 ->" + Option4);

               if ((Question != null) && !Question.trim().equals("")) {
                    question.setText("Question: " +index +":     " + Question.trim());
                }

                if ((Option1 != null) && !Option1.trim().equals("")) {

                    rboption1.setText(Option1.trim());
                }

                if ((Option2 != null) && !Option2.trim().equals("")) {

                    rboption2.setText(Option2.trim());
                }

                if ((Option3 != null) && !Option3.trim().equals("")) {

                    rboption3.setText(Option3.trim());
                }
                if ((Option4 != null) && !Option4.trim().equals("")) {

                    rboption4.setText(Option4.trim());
                }   

                radiogroup.clearCheck();

            }
if(arg0==btnnext)
{
Log.v(标记+“onClick”,“onClick方法调用”);
//btnback.setVisibility(View.VISIBLE);
if(rboption1.isChecked())
{
Log.v(标记+“.onClick”,“选择选项1”);
检查=1;
}
else if(rboption2.isChecked())
{
Log.v(标记+“.onClick”,“选择选项2”);
检查=2;
}
else if(rboption3.isChecked())
{
Log.v(标记+“.onClick”,“选择选项3”);
检查=3;
}
else if(rboption4.isChecked())
{
Log.v(标记+“.onClick”,“选择选项4”);
检查=4;
}
其他的
{
Log.v(标记+“.onClick”,“未选择任何选项”);
检查=0;
}
if(Integer.parseInt(answer1)==检查)
{
correctans++;
Log.v(标签+“onClick”,“正确答案为:”+correctans);
}
否则如果(检查==0)
{
不受诱惑的++;
Log.v(标签+“onClick”,“无诱惑的问题:”+un诱惑);
}
其他的
{
不正确的++;
Log.v(标签+“onClick”,“错误答案为:”+不正确);
}
atempted=正确的+不正确的;
setText(“尝试:+atempted”);
//插入到表中,在其中选择
索引++;
if(i++<(list1.size()-1))
{
questionanswerbean=list1.get(i);
Question=questionanswerbean.getQuestion_text();
Option1=questionanswerbean.getAnswer_choice_1();
Option2=questionanswerbean.getAnswer_choice_2();
Option3=questionanswerbean.getAnswer_choice_3();
Option4=questionanswerbean.getAnswer_choice_4();
Log.v(标记+“.Oncraete”,“查看问题->”+问题);
Log.v(标签+“.Oncraete”,“查看选项1->”+选项1);
Log.v(标签+“.Oncraete”,“查看选项2->”+选项2);
Log.v(标签+“.Oncraete”,“查看选项3->”+选项3);
Log.v(标签+“.Oncraete”,“查看选项4->”+选项4);
如果((Question!=null)&&!Question.trim()等于(“”){
question.setText(“问题:“+index+”:“+question.trim());
}
如果((Option1!=null)和&!Option1.trim()等于(“”){
b选项1.setText(选项1.trim());
}
如果((Option2!=null)和&!Option2.trim()等于(“”){
b选项2.setText(选项2.trim());
}
如果((Option3!=null)和&!Option3.trim()等于(“”){
b选项3.setText(选项3.trim());
}
如果((Option4!=null)和&!Option4.trim()等于(“”){
b选项4.setText(选项4.trim());
}   
radiogroup.clearCheck();
}