我正在寫一個遊戲,我將玩家最高分存儲爲SharedPrefrence。我正在使用這種方法,以便當用戶退出應用程序時,他的最高分數保持不變。直到那時,我已經編碼了一切。我現在想要實現一種方式來在玩家再次玩遊戲時顯示新的最高分。這背後的邏輯是,如果第一個最高分數大於零,則顯示第一個最高分數。然後,當再次玩遊戲時,如果第二個最高分高於第一個最高分,則顯示第二個最高分,否則顯示第一個最高分。在我的腦海中,我會認爲一個簡單的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");
}
正確。我沒有任何意義。哈哈。這就是我得到整夜的感覺。我更新了代碼以顯示最初的分數。但是我無法弄清楚的是,如果它大於第一個結果,就只能顯示新的結果。有什麼想法嗎?我嘗試了幾種方法,但他們似乎都要求我聲明重置它的值的變量。 – chris