0

public int Result を持つクラスが 1 つあります。ゲームの後半で、その変数を使用して、ユーザーが獲得したポイント数を格納します。ここで、Result という別のアクティビティ/クラスがあり、そのアクティビティに textView があり、Result 変数を使用して、その textView に sexText を渡す必要があります。ゲーム クラスのインスタンスを作成し、それを Result クラスで g と呼び、次のようにしました。

score = (TextView) findViewById(R.id.tvResult);
        score.setText("Game over!\nYour score is:\n" + k.Result);

しかし、私は常に0を取得します。これは、実際の変数ではなく、変数のデフォルト値を取得したためだと思います。ゲーム終了後に変数に追加された最終値を渡すにはどうすればよいですか?

また、変数をインテントとして渡すために、ゲーム アクティビティでこれを試しました。

Intent i = new Intent(Quiz.this, Result.class);
            i.putExtra("newResultVariable", Result);
            startActivity(i);

また、0 を取得します。

4

2 に答える 2

2

変数をインテントとして渡す。

任意の言語でプログラミングを行うには、言語の命名規則に従う必要があります。

Quiz.java 内

Intent intent = new Intent(context,Result.class);
intent.putExtra("newResultVariable", result);
startActivity(intent);

Result.java で値を取得します。

public void onCreate(Bundle bundle) {
    ....
    int score = 0;
    TextView scoreTextView = (TextView) findViewById(R.id.tvResult);

    Bundle extras = getIntent().getExtras(); 
    if(extras !=null) {
       score = extras.getInt("newResultVariable", 0);
    }

     scoreTextView.setText("Game over!\nYour score is:\n" + score); 
     ....
}
于 2013-03-03T17:42:49.910 に答える
1

まず第一に、あなたが与えた変数名はキャメルケースに従っていないので良くありません

そのため、Result ではなく結果にする必要があります。次のように試してください。

クイズ活動中

Intent intent = new Intent(getApplicationContext(),Result.class);
intent.putExtra("result_variable", result);
startActivity(intent);

結果活動中

getIntent().getIntExtra("result_variable", 0);
于 2013-03-03T17:45:55.900 に答える