在計時器的onFinish方法中,我希望用戶在其輸入等於隨機數(LoadG1)時將其分數添加到他們的分數中。 IDE希望我使用數組並最終得分。我遵循其建議來消除錯誤,但未能實現我的目標。我花了很多時間嘗試以不同的方式對其進行編碼(例如:使用parseInt和==),但收到相同的輸出。我沒有得到我期望的,而是得到「分數:[l @ fea28db」。Android Studio中的計分計數器錯誤
public void onFinish() {
number.setVisibility(View.GONE);
final TextView prompt = (TextView) findViewById(R.id.prompt);
prompt.setText(" Enter the number");
final EditText input = (EditText) findViewById(R.id.enterAnswer);
input.setVisibility(View.VISIBLE);
input.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN){
switch (keyCode){
case KeyEvent.KEYCODE_ENTER:
Editable answer = input.getText();
input.setVisibility(View.GONE);
prompt.setVisibility(View.GONE);
if (answer.equals(loadG1)){
score[0]++;
}
return true;
default:
break;
}
}
return false;
}
});
}
這裏就是我輸出的評分:
public void onFinish() {
TextView result = (TextView) findViewById(R.id.outcome);
result.setText("Score: "+ score);
TextView prompt = (TextView) findViewById(R.id.prompt);
prompt.setVisibility(View.GONE);
}
我也試着做score=score+1
和score+=1
,在輸出沒有差異。我非常感謝任何幫助。
這有幫助,我不得不使用parseInt(String.valueof)和==來實現分數。實質上,它們都必須轉換爲整數才能添加點。你最後把陣列放回去的建議擺脫了奇怪的輸出錯誤,並給了我一個0.謝謝你的迴應。 – User44