2011-08-05 8 views
1

これは、1つのアクティビティから整数を使用した方法です。それは一致するタイプの質問であり、対応するラジオボタンが回答の1つです。正しいラジオボタンは、私はこのような整数をUSNGされる結果画面で1Androidでスコアを1つのアクティビティから別のアクティビティに転送するにはどうすればよいですか?

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; 
} 

のスコアを与える:

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; 
} 

第二に、別のActivityからscore1に合格するには、いくつかの異なる方法があります。たとえば、2番目のアクティビティのIntentを作成する場合は、putExtra()を使用してスコア値を保存し、次に2番目のアクティビティでgetExtra()を使用して開始時の値を読み取ることができます。

score1public staticフィールドに設定したり、システムのプロパティを介してシステムプロパティを渡したり、合意したファイルの場所に書き込んだり、保存したりするなど、いくつかの簡単で疑問があるハッキングを使用できます。 (これらのハッキングは、デバイスごとのアクティビティのインスタンスが1つしかない場合にのみ機能し、実際にはまったく推奨されません)。

実際には、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を使用してこのスコア1を使用して余分に得る方法と、totalscore = score1 + score2 + score3というように私が2番目の画面で使用する方法を教えてください。アクティビティはresultscreenです。再度、感謝します。 – user880355

+0

@ user880355 - 私は基本的な例で私の答えを更新しました。 – aroth

+0

ありがとう、それはawsomeだった... – user880355

関連する問題