我正在研究android测验应用程序。在我的屏幕中,我正在显示一个问题和选项(静态4个单选按钮)和下一个按钮。即再次点击下一个按钮时 将显示下一个问题及其选项。其实我有一个字符串
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]);
然后在下一个按钮点击操作中,我编写了以下代码。
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]);
}
现在到这里一切都很好。我的下一个要求是获取所选的选项值并将其存储在数组中。另外,我需要将选项id值设置为单选按钮 选中并再次获取该id值。即假设第一个问题我选择了第二个单选按钮,所以我想将该选项id设置为radiobtn.setid(opid2),并希望获得所选的单选按钮ID。由于我静态地保留了单选按钮,我没有得到如何设置和获取单选按钮以及如何将单击动作写入单选按钮。 我正在努力解决这个问题。请任何帮助都非常感谢。
答案 0 :(得分:0)
您可以尝试以下
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()。
答案 1 :(得分:0)
请像这样使用。
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();
}