我有一個項目,我正在開發的Eclipse的Android 4.4 KitKat這個複雜的問題。我開發了一項活動,向用戶顯示三種不同類型的活動供他選擇:簡易中和硬模式測驗。我只有一種評分活動,即所有三種評估模式的結果,計算用戶的總分。在測試模式之間進行區分的方式是我在活動的意圖內傳遞一個字符串變量,並且在分數活動中,我有一個if語句,它匹配if(activityString.equals(「easy」))然後計算這個評分系統。問題是,當我完成測驗模式中的問題時,得分活動不會出現在堆棧頂部,而是堆棧上的上一個活動(測驗主菜單活動)出現在最上面(彈出測驗活動)。 真的很複雜,不知道我是否可以問這樣一個複雜的問題,但這裏是我的代碼:活動彈出,而不是添加一個新的堆棧
代碼片段檢查是否存在更多的問題在之前聲明的數組列表中。答案使用單選按鈕回答。在第一個else語句就是正確答案進行計算,然後移動到所需的下一個活動,ScoreActivity QuizActivity.java(測驗主菜單)
btnNext.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
RadioButton uansw = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
String ansText = uansw.getText().toString();
if (ansText.equalsIgnoreCase(answers[flag]))
{
correct++;
}
else
{
wrong++;
}
//increment flag to show next question
flag++;
if(flag<questions.length)
{
rb1.setChecked(true);
//change question text view to next question
tv.setText(questions[flag]);
//change radio button options to next value of the array
rb1.setText(opt[flag * 3]);
rb2.setText(opt[flag * 3 + 1]);
rb3.setText(opt[flag * 3 + 2]);
}
else
{
//shows negative marks if toggle is on
if(MainQuizActivity.tbflag)
{
marks = correct - wrong;
}
//if toggle is off
else
{
marks = correct;
}
finish();
mCountDownTimer.cancel();
Intent in = new Intent(getApplicationContext(),ScoreActivity.class);
in.putExtra("activity", "easy");
startActivity(in);
}
}
});
這裏是我的ScoreActivity.java代碼片段,與易模式測驗,獲取用戶輸入的分數
if(activityString.equals("easy"))
{
txtViewQuizCompleted.setText("You have successfully completed \nEasy Mode Quiz!");
sb.append("Correct Answers:" + QuizActivity.correct);
sb.append("\nWrong Answers:" + QuizActivity.wrong);
sb.append("\nTime Left:" + timeLeft + "secs");
sb.append("\n\nFinal SCORE: " + finalScore);
//print values to textview
tv.setText(sb);
finish();
}
對於太多的信息,儘量保持它儘可能簡單。 logcat中不顯示任何東西,如果要求提供更多信息,請讓我知道
我不知道我理解你的問題。你是說ScoreActivity沒有顯示出來嗎? – Olumide 2015-02-09 19:10:04