首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >问答应用

问答应用
EN

Stack Overflow用户
提问于 2014-10-14 18:28:21
回答 1查看 286关注 0票数 0

我启动了一个简单的测试应用程序,如下所示,它由TextView来显示问题,RadioGroup由3个选项的3 RadioButtons组成。当你完成测试时,它会显示正确答案的数量、错误答案的数量以及你的学位。但我有一些问题如下,请帮助我解决它。

问题:

  1. 当我点击下一个问题,它转移我的结果活动,而不是下一个问题。
  2. “结果活动”页面未正确显示总结果。

MainActivity

代码语言:javascript
复制
public class MainActivity extends ActionBarActivity {
TextView tv;
Button btnNext;
RadioGroup rg;
RadioButton rb1,rb2,rb3;

String questions[]={"qqqqq","dddddd"};
String ans[]={"",""};
String opt[]={"","","","","",""};

int flag=0;
public static int marks,correct,wrong;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tv = (TextView) findViewById(R.id.tvque);
        btnNext = (Button) findViewById(R.id.button1);
        rg = (RadioGroup) findViewById(R.id.radioGroup1);
        rb1 = (RadioButton) findViewById(R.id.radio0);
        rb2 = (RadioButton) findViewById(R.id.radio1);
        rb3 = (RadioButton) findViewById(R.id.radio2);

        tv.setText(questions[flag]);
        rb1.setText(opt[0]);
        rb2.setText(opt[1]);
        rb3.setText(opt[2]);

        Toast.makeText(this,"Nigative mark", 1000).show();

        btnNext.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                RadioButton uans=(RadioButton)findViewById(rg.getCheckedRadioButtonId());
                String ansText=uans.getText().toString();

                if(ansText.equalsIgnoreCase(ans[flag]))
                {

                    correct++;  
                }
                else
                {
                    wrong++;
                }
                flag++;
                if(flag<questions.length)
                {
                    tv.setText(questions[flag]);
                    rb1.setText(opt[flag*3]);
                    rb2.setText(opt[(flag*3)+1]);
                    rb3.setText(opt[(flag*3)+2]);

                }
                else
                {
                    marks=correct;

                }

                Intent i=new Intent(getApplicationContext(),ResultActivity.class);
                startActivity(i);

            }
        });

    }
}

ResultActivity

代码语言:javascript
复制
public class ResultActivity extends ActionBarActivity {
    TextView tv;
    Button btRestart;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);

        tv=(TextView) findViewById(R.id.textView1);
        btRestart=(Button) findViewById(R.id.button1);

        StringBuffer sb=new StringBuffer();
        sb.append("Correct ANS:"+MainActivity.correct);
        sb.append("Wrong ANS:"+MainActivity.wrong);
        sb.append("Final Score:"+MainActivity.marks);
        tv.setText(sb);

        MainActivity.correct=0;
        MainActivity.wrong=0;

        btRestart.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Intent i=new Intent(getApplicationContext(),MainActivity.class);
                startActivity(i);


            }
        });         
    }
}
EN

回答 1

Stack Overflow用户

发布于 2014-10-14 18:35:40

  1. 当我点击下一个问题,它转移我的结果活动,而不是下一个问题。 你告诉它去你的ResultsActivity在你的Intent

代码语言:javascript
复制
// 2nd param is the target Activity
Intent i=new Intent(getApplicationContext(),ResultActivity.class);  
startActivity(i);

要解决这个问题,您需要使用Activity的名称,您的下一个问题是替换ResultActivity。除非将它们存储在Array或其他类型的列表中,否则只需将问题TextView文本替换为下一个问题。

  1. “结果活动”页面未正确显示总结果。 这几乎是不可能回答的,不知道你的预期和实际结果。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26367791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档