我想在scoreloop中获得当前用户的分数。但我不知道逻辑是怎么回事。
我试过了:
scoresController.setRangeLength(1);
scoresController.loadRangeForUser(Session.getCurrentSession().getUser());
但它没有获得当前用户。它归还了别人。因为我没有看到setRangeLength返回我需要的用户数,而loadRangeForUser是我放置用户ID的地方。
//Score for single user
final RequestControllerObserver observer2 = new RequestControllerObserver() {
public void requestControllerDidReceiveResponse(final RequestController requestController) {
// get the scores from our controller
ScoresController scoresController = (ScoresController) requestController;
List<Score> scores = scoresController.getScores();
if(scores!=null){
for (Score score2 : scores) {
PointsText.setText(" "+ScoreFormatter.format(score2));
RankText.setText(" "+score2.getRank());
}
// we're done!
dismissDialog(DIALOG_PROGRESS);
}
}
public void requestControllerDidFail(final RequestController aRequestController, final Exception anException) {
dismissDialog(DIALOG_PROGRESS);
}
};
// set up a ScoresController with our observer
ScoresController scoresController = new ScoresController(null,observer2);
showDialog(DIALOG_PROGRESS);
scoresController.setMode(0);
scoresController.setRangeLength(1);
scoresController.loadRangeForUser(Session.getCurrentSession().getUser());
}
答案 0 :(得分:0)
ScoresController scoresController = (ScoresController) requestController;
ScoresController scoresController = new ScoresController(null,observer2);
这些不一样,你在第一个创建本地ScoresController
。