少し助けが必要です:)2回のクリックでVolley onResponseの仕事
私はAndroidアプリでvolleyを使用していますが、私はこのコードを書いています。
public String validateCredentials(final String email, final String password) {
StringRequest strReq = new StringRequest(com.android.volley.Request.Method.POST,
LOGIN_URL, new com.android.volley.Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject serverResponse = new JSONObject(response);
Log.d("Result: ", serverResponse.getString("result"));
responseServ = serverResponse.getString("result");
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new com.android.volley.Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put(email, password);
return params;
}
};
AppController.getInstance().addToRequestQueue(strReq);
return responseServ;
}
私はボタンLog.d("Result: ", serverResponse.getString("result"));
をクリックすると、このコードは仕事ですが、return responseServ;
は、最初のクリックで任意のデータを送信できません。
マイボタンのonClickコードは、どのように私はこの問題を解決するのです
Toast.makeText(activity, authModel.validateCredentials(email, password), Toast.LENGTH_SHORT).show();
のですか?事前に
おかげ
私は理解していますが、私はmvpシステムを使用しようとしています。そしてこのコードは私のloginModelクラスにあります。私はpresenterImplentsでモデルからデータを取得し、結果が成功すればユーザーはログインできます。 onResponse()ですべての作業を行うだけなら、これはMVPシステムではありません。私は正しい? –
@AhmetTalutTasgiran iveさんは私の答えを編集しました。これが役立つかどうかを確認してください – X3Btel
ありがとうございます。私はついにそれをやった:D時間前に私はどのようにコールバックインターフェイスシステムを使用するのか分からないので:D(私の英語のために申し訳ありません) –