В методе onFinish таймера, который у меня есть, я хочу, чтобы у пользователя была добавлена точка для их оценки, если их вход равен случайному числу (LoadG1). IDE хочет, чтобы я использовал массив и забил до финала. Я следовал его советам по устранению ошибок, но не смог достичь своей цели. Я потратил время, пытаясь закодировать его по-разному (например: using 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