我启动了一个简单的测试应用程序,如下所示,它由TextView来显示问题,RadioGroup由3个选项的3 RadioButtons组成。当你完成测试时,它会显示正确答案的数量、错误答案的数量以及你的学位。但我有一些问题如下,请帮助我解决它。
问题:
MainActivity
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
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);
}
});
}
}发布于 2014-10-14 18:35:40
ResultsActivity在你的Intent// 2nd param is the target Activity
Intent i=new Intent(getApplicationContext(),ResultActivity.class);
startActivity(i);要解决这个问题,您需要使用Activity的名称,您的下一个问题是替换ResultActivity。除非将它们存储在Array或其他类型的列表中,否则只需将问题TextView文本替换为下一个问题。
https://stackoverflow.com/questions/26367791
复制相似问题