2011-08-05 75 views
1

這是我從一個活動中使用我的整數的方式。這是一個匹配類型的問題,相應的單選按鈕就是其中一個答案。正確的單選按鈕將給予1如何在Android上將我的分數從一項活動轉移到另一項活動?

Integer score1; 
public void onCheckedChanged(RadioGroup group, int rb1) { 
    switch(rb1){ 
    case R.id.radioButton1: 
    score1=0; 
    break; 
    case R.id.radioButton2: 
    score1=0; 
    break; 
    case R.id.radioButton3: 
    score1=0; 
    break; 
    case R.id.radioButton4: 
    score1= 1; 
    break; 
} 

分數在結果屏幕我會USNG這樣的整數:

totalscore = score1 +score2 ..... 

如何轉移score1從活動與單選按鈕結果屏幕的活動?

+0

你到底想要做什麼? – skyfoot

回答

1

嘗試

Integer score1, totalscore; 

public void onCheckedChange(RadioGroup group, int rb1) { 
    switch (rb1) { 
     case R.id.radioButton1: 
      score1=0; 
      break; 
     case R.id.radioButton2: 
      score1=0; 
      break; 
     case R.id.radioButton3: 
      score1=0; 
      break; 
     case R.id.radioButton4: 
      score1= 1; 
      totalscore += 1; 
      break; 
    } 
} 
+0

謝謝,我可以用這個... – user880355

0

首先,你可以大大簡化您的switch邏輯:

Integer score1; 
public void onCheckedChanged(RadioGroup group, int rb1) { 
    score1 = (rb1 == R.id.radioButton4) ? 1 : 0; 
} 

其次,有幾種不同的方式從一個活動傳遞score1到另一個。例如,當您爲第二個活動創建Intent時,可以使用putExtra()來存儲您的分數值,然後第二個活動可以使用getExtra()在開始時讀取該值。

或者你可以使用任何一種快速而可疑的黑客攻擊,如做score1一個public static場,或周圍通過它通過系統屬性,或者寫出來給一個一致同意的文件位置,或將其存儲到數據庫中的商定字段(這些攻擊僅適用於每臺設備只有單個活動實例,並且根本不推薦)。

真的,雖然你應該堅持與getExtra()putExtra()。沿線:

//in QuestionActivity 
private Integer score1; 

//... 

public void onCheckedChanged(RadioGroup group, int rb1) { 
    score1 = (rb1 == R.id.radioButton4) ? 1 : 0; 
    Intent resultIntent = new Intent(this, ResultActivity.class); 
    resultIntent.putExtra("score1", score1); 
    startActivity(resultIntent); 
} 


//in ResultActivity 
private Integer score1; 

//... 

@Override 
protected void onStart() { 
    score1 = this.getIntent().getExtras().getInt("score1"); 
    super.onStart(); 
} 
+0

謝謝,真的讓我的編碼簡單。現在我該如何使用putextra並使用此score1再次獲得額外的獎勵,以及如何在第二個屏幕上使用它,當我將其應用爲totalscore = score1 + score2 + score3 ....我的第一個活動是question1,我的第二個活動活動是resultscreen。再次感謝。 – user880355

+0

@ user880355 - 我已經用一個基本示例更新了我的答案。 – aroth

+0

謝謝,那太棒了... – user880355

相關問題