私はゲームを書いていて、プレイヤーのトップスコアを SharedPrefrence として保存しています。私はこの方法を使用しているので、ユーザーがアプリケーションを終了しても最高得点が維持されます。その時点までのすべてをコーディングしました。ここで、プレーヤーが再びゲームをプレイしたときに新しいトップ スコアを表示する方法を実装したいと考えています。この背後にあるロジックは、最初のトップ スコアが 0 より大きい場合、最初のトップ スコアを表示することです。その後、ゲームが再びプレイされたときに、2 番目のトップ スコアが最初のトップ スコアより大きい場合は 2 番目のトップ スコアを表示し、そうでない場合は最初のトップ スコアを表示します。私の頭の中では、単純な If/else ステートメントで十分だと思いますが、最初の変数を宣言するときに問題が発生します。以下のコードを書いたのですが、うまくいきません。新しいスコアが表示されるだけです-それが最初のスコアよりも低い値であっても、これは私が望んでいないことです。どんな助けでも大歓迎です。コード:
TextView textSavedWeek2ms2_1 = (TextView)findViewById(R.id.ts02);
SharedPreferences sharedPreferences = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
String strSavedWeek2ms2_1 = sharedPreferences.getString("top_score", "");
String topscore = strSavedWeek2ms2_1;
int topscore1 = Integer.valueOf( topscore);
if (topscore1 > 0 )
{
textSavedWeek2ms2_1.setText(topscore);
}
else
textSavedWeek2ms2_1.setText("0");
}