2016-11-28 19 views
0

ボイスレットでタイムアウトイベントを処理する方法(例:ユーザーにヒントを与える方法)私はグーグルで何か有用なものを見つけることができません。android volley OnTimeout mehod

リクエストを作成するときにロジックをResponse.ErrorListener()に書き込む必要がありますか?

答えて

1

Volleyに定義されているTimeoutErrorという例外があります。それを利用することができます。

Response.ErrorListener errorListener = new Response.ErrorListener() { 
    @Override 
    public void onErrorResponse(VolleyError volleyError) { 
     if (volleyError.networkResponse == null) { 
      if (volleyError.getClass().equals(TimeoutError.class)) { 
       // Show timeout error message 
       Toast.makeText(getContext(), 
         "Oops. Timeout error!", 
         Toast.LENGTH_LONG).show(); 
      } 
     } 
    } 
}); 

以下の例を追加すると、代わりに私がif (volleyError instanceof TimeoutError)を使用することをお勧めif (volleyError.getClass().equals(TimeoutError.class))を使用してのこのlink

1

を参照してください。 volleyError.getClass()を投げることができるので、NullPointerException。そして明らかにそれはコードの行を減らすでしょう。

+0

instanceofは、左側(LHS)のオブジェクト参照が右側(RHS)または一部のサブタイプの型のインスタンスであるかどうかをテストします。 getClass()は型が同一かどうかをチェックします。ここではgetClass()が適切です。 – droidev