1
변수 scoretemp에 문제가 있습니다. 항상 0을 반환합니다. 내부 조건 일 경우 작동합니다.변수가 작동하지 않습니다 android
for (final Score score2 : scores) {
scoretemp = score2.getResult();
}
하지만 마지막 줄에 결과를 표시하려고 할 때.
TV2.setText(""+scoretemp);
아무런 이유없이 항상 0입니다.
코드 : 콜백 방법 requestControllerDidReceiveResponse가 비동기 적으로 호출이 할 수있는 아마 TV2.setText (""+ scoretemp) 후 호출 할 수 있도록되어
BScore.setOnClickListener(new View.OnClickListener() {
double scoretemp;
public void onClick(View arg0) {
BScore.setVisibility(View.GONE);
sp.play(click, 1, 1, 0 , 0, 1);
int scoreresult = totalscore;
final RequestControllerObserver observer2 = new RequestControllerObserver() {
public void requestControllerDidReceiveResponse(final RequestController requestController) {
// get the scores from our controller
final ScoresController scoresController = (ScoresController) requestController;
final List<Score> scores = scoresController.getScores();
if(scores!=null){
for (final Score score2 : scores) {
scoretemp = score2.getResult();
}
// we're done!
dismissDialog(DIALOG_PROGRESS);
}
}
public void requestControllerDidFail(final RequestController aRequestController, final Exception anException) {
dismissDialog(DIALOG_PROGRESS);
Toast.makeText(getApplicationContext(), "لا يوجد إتصال بالأنترنت أو خطأ في إستقبال البيانات", Toast.LENGTH_LONG).show();
}
};
// set up a ScoresController with our observer
ScoresController scoresController2 = new ScoresController(observer2);
showDialog(DIALOG_PROGRESS);
scoresController2.setMode(mode);
scoresController2.loadRangeForUser(Session.getCurrentSession().getUser());
TV2.setText(""+scoretemp);
변수가 작동하지 않습니다. 변수는 다양합니다. – Juvanis
콜백 메소드 requestControllerDidReceiveResponse는 비동기 호출되므로 TV2.setText (""+ scoretemp); 호출됩니다. –
@RobeEleckers 나는 이것이 문제라고 생각한다. 마지막 줄은 청취자 내부에 있어야하며 외부에 있어야합니다. –