VollyError在下面的API Leval 21 android上返回null

时间:2015-05-14 12:28:54

标签: android singleton android-volley

我正在使用volley作为我的Android应用程序的网络库。 现在主要是我想处理两种类型的错误1.验证2.网络错误

以下代码段代码在Lollipop上完美运行。但是当我在较低的API 21上运行应用程序时,VolleyError的对象返回null。

public Response.ErrorListener getErrorListener() {
        return new Response.ErrorListener(){

            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
                if( error instanceof AuthFailureError) {
                    Toast.makeText(mCtx, "Invalid User", Toast.LENGTH_LONG).show();
                    AppUtility.dismissDialog();
                } else if (error instanceof NetworkError) {
                   final EspecAlertDialog err = EspecAlertDialog.newInstance("Network Error", "Please Check your Internet Connection", "Setting", "Ok");
                    err.show(((FragmentActivity) mCtx).getSupportFragmentManager(), "error");
                    err.setmOnDialogClickedListener(new EspecAlertDialog.OnDialogClickedListener() {
                        @Override
                        public void onDialogPositiveButtonClicked(View v) {
                            ((FragmentActivity) mCtx).startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
                        }

                        @Override
                        public void onDialogNegativeButtonClicked(View v) {
                            err.dismiss();
                        }
                    });
                    AppUtility.dismissDialog();
                }
            }
        };
    }

注意:上面的代码是在SingleTone类上编写的。

1 个答案:

答案 0 :(得分:1)

检查当前版本并按该版本执行代码:

if (Lollipop) {
    //Lollipop code
} else {
    //below Lollipop cod
}