この操作を行います。
を私たちは私たちの応答を聞くことができるように
下の編集は、リスナー・インターフェースを作成して参照してください。
public interface RequestResponseListener{
void onResponse(boolean posted);
}
メソッドを変更して、リスナーパラメータを組み込み、そのリスナーを使用して応答を送信します。
public void imLike (String url, final RequestResponseListener listener){
requestQueue = Volley.newRequestQueue(context);
requestQueue.start();
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
listener.onResponse(response.equals("yes")));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("Vollley Error", "Error ");
listener.onResponse(false);
}
});
requestQueue.add(request);
}
次に、応答を聞くために電話をかけます。
imLike([some_url], new RequestResponseListener(){
@Override
public void onResponse(boolean posted){
// do what you wanted to do with the response
}
});
Listeners
の基本概念です。マルチスレッド/非同期タスクに非常に便利です。
EDIT
私は私が実際にもう少し答えていたものを見てきたはずです。あなたはボレーのリクエストをしており、ボレーは独自のリスナーを提供しています。あなたがする必要があるのはこれです。
public void imLike(String url, Response.Listener<String> listener, Response.ErrorListener errorListener){
requestQueue = Volley.newRequestQueue(context);
requestQueue.start();
StringRequest request = new StringRequest(Request.Method.GET, url, listener, errorListener);
requestQueue.add(request);
}
し、また、あなたが新しいキューにあなたがこれを行うたびに作成しているとして、あなたはおそらく、別の方法であなたのVolleyQueueを初期化処理することが注目されるように
imLike([some_url], new Response.Listener<String>(){
@Override
public void onResponse(String response) {
if(response.equals("yes")){
// do what you want if it is yes
}
else{
// do what you want if it is no
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("Volley Error", "Error ");
}
}
}
として要求を行いますコール。実際にキューを作成するには、アプリケーションのインスタンスを1つ用意する必要があります。
戻り値voidレスポンスを待機するリスナーを渡します。 – zgc7009
@ zgc7009解決策は正しくこの[クラス](https://drive.google.com/file/d/0B0el4AZQaRJtV0tDNDVwLUhLdzQ/view?usp=sharing)で実行されません。 –