2016-04-19 11 views
0

私はUdemyのコースに従っていますが、匿名ユーザーを作成したアクティビティの後にAnonUsernameをParseObjectのputメソッドに設定しようとしました。原因:java.lang.IllegalArgumentException:valueがnullでない可能性があります。 ParseObjectにデータを入れるとき

put("riderUsername", ParseObject.getCurrentUser().getUsername()); 

しかし、私が使用したとき、私は「.... com.parse.ParseUser」を取得::私が使用している場合、私はタイトルに上記のエラーを取得

put("riderUsername", ParseObject.getCurrentUser()); 

これがために私のコードです私が解析し、これを送信するためのボタンを押したとき:

public void toggleSearch(View view){ 

    ParseObject request = new ParseObject("Requests"); 
    request.put("requestUsername", ParseUser.getCurrentUser().toString()); 

    ParseACL acl = new ParseACL(); 
    acl.setPublicWriteAccess(true); 
    acl.setPublicReadAccess(true); 

    request.setACL(acl); 

    request.saveInBackground(new SaveCallback() { 
     @Override 
     public void done(ParseException e) { 
      if(e == null){ 
       driverStatus.setText("Searching Drivers..."); 
      } else { 
       driverStatus.setText("Error"); 
       e.printStackTrace(); 
      } 
     } 
    }); 

} 

そして、私は最初のアクティビティにアノンのユーザーを作成したところ、これは次のとおりです。

if(ParseUser.getCurrentUser() == null) { 
     ParseAnonymousUtils.logIn(new LogInCallback() { 
      @Override 
      public void done(ParseUser user, ParseException e) { 
       if (e == null) { 
        Log.i("App Data", "Logged In"); 
       } else { 
        Log.i("App Data", "Not Logged In"); 
       } 
      } 
     }); 
    } 

検索しようとしましたが、何も見つかりませんでした。他の誰かが私が間違っていることを知っているかもしれないと思っています。ありがとうございました。

答えて

0

私が正しく理解していれば、あなたは問題なく

put("riderUsername", ParseObject.getCurrentUser()); 

を行うことができますが、この1つは例外を失敗し、スロー:もちろん

put("riderUsername", ParseObject.getCurrentUser().getUsername()); 

、ParseObject.getCurrentUserは()ので、nullでありませんあなたはそれを保存することができますまたParseObject.getCurrentUser().getUsername()java.lang.NullPointerException

を投げるので、唯一の可能性は、現在のユーザーはnullです。

パラメータParseUser userのログインコールバックで、ユーザー名がnullでないことを確認します。あなたもこの方法を使用することができます:

ParseUser.getUsername() 
+0

高速返信Jorgeに感謝します。 AnonUserを設定することは、Parseクラスがユーザー名自体を設定することです。だからテーブルにチェックインするときにはうまくいきますが、現在のユーザーにアクセスしようとすると返されません。私はトレーナーがそれを追加しなかったので、ログインとサインインを正常にセットアップすると思う。 – SmiffyKmc

関連する問題