2017-07-04 3 views
0

私はisUserExistという名前の関数を持っています。この関数は、ユーザがこのメールアドレスを持つデータベースに存在するかどうかをチェックします。AndroidのString Request Volleyからのクラス変数の設定

stringrequestでは、isUserExist変数を "true"に設定しました。funcの最後で、funcはisUserExistを返します。

問題は、文字列request.itでtrueに設定しても、常にfalseを返します。これはifステートメントでtrueに設定されます。

をAND関数は次のとおりです:

はそれのクラス宣言のように私が検索しました

と、これらのアイデアを見つける:やった

private boolean isUserExist() 
{ 

    StringRequest strReq = new StringRequest(Request.Method.POST, 
      AppConfig.URL_USER_EXIST, new Response.Listener<String>() { 

     @Override 
     public void onResponse(String response) { 

      try { 
       JSONObject jObj = new JSONObject(response); 
       boolean error = jObj.getBoolean("error"); 
       if (error) { 
        // setting isUserExist = true 
        isUserExist = true; 
        //Log.w("debug1",String.valueOf(isUserExist);) 
        //returns true; 

       } else { 

       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 

     } 
    }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError error) { 

     } 
    }) { 

     @Override 
     protected Map<String, String> getParams() { 
      // Posting params to register url 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put("email", mail); 

      return params; 
     } 

    }; 
    AppController.getInstance().addToRequestQueue(strReq); 
    //Log.w("debug2",String.valueOf(isuserExist)); 
    //returns false 
    return isUserExist; 
} 

私がこれまでしてみてください。 1)to make static 2)boolean result[] = new boolean[1];を宣言し、関数result return [0]の終わりを宣言しました。これはString Requestでtrueになりました。 3)isUserExistをローカルとして宣言するvariable.boolean isUserExist = false; funcの始まりで。 4)全力平準化では、boolean isUserExist;の代わりにboolean isUserExist = falseの代わりに

のいずれかが動作します。

答えて

0

問題がthreads.Volleyスレッドで機能していたが、関数が返った後にisUserExistがtrueに設定されました。

0

あなたのコールバックメソッドがあなたのブール変数を設定しているかどうかを確認するためにコードをデバッグするのが良い方法です。 2つのブレークポイントを設定します。最初に外部メソッドで、コールバックメソッドでSecondを使用して、関連するすべての変数の値を確認します。

+0

私は実際にこれを行いました。質問を編集しました。 –

関連する問題