首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >积分Scoreloop高分

积分Scoreloop高分
EN

Stack Overflow用户
提问于 2013-04-04 09:54:54
回答 1查看 467关注 0票数 1

调用这两个方法时没有错误:

代码语言:javascript
复制
public void submitScore(long scoreValue) {
        final Score score = new Score((double) scoreValue, null);
        final ScoreController scoreController = new ScoreController(
            (RequestControllerObserver) new ScoreSubmitObserver());
        scoreController.submitScore(score);
    }

    private class ScoreSubmitObserver implements RequestControllerObserver {
        public void requestControllerDidFail
          (final RequestController requestController,
           final Exception exception) { }

        public void requestControllerDidReceiveResponse(
          final RequestController requestController) { }
    }

当我单击一个按钮并移动到‘`High’活动时,会调用以下代码:

代码语言:javascript
复制
// this is on the onCreate() method
List<Score> list = getScores();  // Highscores line 214
if(list.size() == 0) {
    scoreList.get(0).setText(
      "LIST WILL BE MORE THAN 0 SO THIS TEXT WILL NOT BE SEEN");
}

//Retrieving scores from Scoreloop server.
public List<Score> getScores() {

    //Create an instance of the controller
     ScoresController myScoresController = new ScoresController(null);
             // highscores line 244

     //Set the searchlist. Default is globalScoreSearchList
     myScoresController.setSearchList(SearchList.getBuddiesScoreSearchList());

     //Set the mode for the controller.
     myScoresController.setMode(2);

     //Set the range length of scores to be retrieved. Default is 25
     myScoresController.setRangeLength(20);

     //Make the request to the server
     myScoresController.loadRangeForUser(Session.getCurrentSession().getUser());

     List<Score> retrievedScores = myScoresController.getScores();
     return retrievedScores;
}

此代码使应用程序崩溃,并显示以下LogCat输出:

代码语言:javascript
复制
 FATAL EXCEPTION: main
 java.lang.RuntimeException: Unable to start activity ComponentInfo{matt.lyons.bibletrivia.lite/matt.lyons.bibletrivia.lite.Highscores}: java.lang.IllegalArgumentException: observer parameter cannot be null
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    at android.app.ActivityThread.access$600(ActivityThread.java:141)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5039)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.IllegalArgumentException: observer parameter cannot be null
    at com.scoreloop.client.android.core.controller.RequestController.<init>(SourceFile:159)
    at com.scoreloop.client.android.core.controller.ScoresController.<init>(SourceFile:187)
    at com.scoreloop.client.android.core.controller.ScoresController.<init>(SourceFile:168)
    at matt.lyons.bibletrivia.lite.Highscores.getScores(Highscores.java:244)
    at matt.lyons.bibletrivia.lite.Highscores.onCreate(Highscores.java:214)
    at android.app.Activity.performCreate(Activity.java:5104)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
    ... 11 more

我在代码的行号中进行了注释。我不确定LogCat中的IllegalArgumentException是什么。我的问题是如何修复这个错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-04 10:11:55

使用空参数(getScores()中的第一行)创建一个新的ScoresController。然后,根据您提供的堆栈跟踪,此构造函数调用同一类中的另一个构造函数,该构造函数试图创建一个RequestController。我怀疑您正在将null参数转发给RequestController构造函数,该构造函数不接受观察者参数的NULL值。

IllegalArgumentException通常表示一个bug,其中一个方法接收了它不应该处理的参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15801281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档