界面无法获取回调Android

阿迈·迪亚姆

我在其他课程中编写自定义Volley Android。但是我对此有疑问。这是我的定制排球课:

public class CustomVolley {

    private Context _c;

    public OnCallbackResponse OnCallbackResponse;

    public interface OnCallbackResponse {
        void OnVolleyErrorResponse(String TAG, String response);
        void onVolleySuccessResponse(String TAG, String response);
    }

    public CustomVolley(Context c) {
        _c=c;
    }

    public RequestQueue Rest(int METHOD, String URL, final Map<String, String> jsonParams , final String TAG) {
        Log.v("URL "+TAG, URL);
        RequestQueue queue = Volley.newRequestQueue(_c);
        StringRequest sr = new StringRequest(METHOD, URL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Log.v("onVolleySuccessResponse URL "+TAG, response);
                        if (OnCallbackResponse != null) {
                            OnCallbackResponse.onVolleySuccessResponse(TAG, response);
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                NetworkResponse response = error.networkResponse;
                String resp="error";
                if (response != null && response.data != null) {
                    resp = new String(response.data);
                }
                if (OnCallbackResponse != null) {
                    Log.v("OnVolleyErrorResponse URL "+TAG, resp);
                    OnCallbackResponse.OnVolleyErrorResponse(TAG, resp);
                }
            }
        }) {
            @Override
            protected Map<String, String> getParams() {
                return jsonParams;
            }
            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                params.put("Content-Type", "application/x-www-form-urlencoded");
                return params;
            }
        };
        sr.setRetryPolicy(new DefaultRetryPolicy(
                Variabel.MY_SOCKET_TIMEOUT_MS_NEWS,
                DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
                DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
        sr.setShouldCache(false);
        sr.setTag(TAG);
        queue.add(sr);
        return queue;
    }
}

我这样叫我的活动:

public class GeneralBusinessActivity extends AppCompatActivity implements CustomVolley.OnCallbackResponse {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);  
....

    context= getApplicationContext();
    customVolley = new CustomVolley(context);

    String url = "https://sds.com/api/search/detail/business?id_business=" + s_id_business + "&" + Variabel.app_key + "="
                + Variabel.value_app_key;
        queue_getDetailResultBusiness = customVolley.Rest(Request.Method.GET, url, null, "getDetailResultBusiness");

    }

    @Override
    public void OnVolleyErrorResponse(String TAG, String response) {
        Toast.makeText(GeneralBusinessActivity.this, response, Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onVolleySuccessResponse(String TAG, String response) {
        Toast.makeText(GeneralBusinessActivity.this, response, Toast.LENGTH_SHORT).show();

    }

}

但这不是回调onError或onSuccess ...那么如何解决呢?

黑带

您必须分配该对象,否则它将保持为空。您可以在CustomVolley类中添加设置器。例如

  public void setOnCallbackResponse(OnCallbackResponse l) {
     OnCallbackResponse = l;
  }

在您的活动中执行以下操作:

  customVolley.setOnCallbackResponse(this);

this作为的参数setOnCallbackResponse,因为GeneralBusinessActivity在您的情况下正在实现接口

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android的Javascript界面无法正常工作

来自分类Dev

我的 Android 用户界面无法运行?

来自分类Dev

无法从我的自定义Cordova插件获取回调(Android)

来自分类Dev

应用内审核界面无法在Android中启动

来自分类Dev

无法从控制器中的 HTTP 方法获取回调

来自分类Dev

Android LocationRequest:请求过期时获取回调

来自分类Dev

android-打开或关闭相机时如何获取回调

来自分类Dev

从类函数获取回调

来自分类Dev

推送功能并获取回调

来自分类Dev

javascript从方法获取回调

来自分类Dev

在 React 中获取回调

来自分类Dev

图形界面无法启动

来自分类Dev

Gnome图形界面无法加载

来自分类Dev

Jenkins Firefox界面无法正确呈现

来自分类Dev

Android:windowSoftInputMode =“ adjustResize”对用户界面无效

来自分类Dev

Affdex JS SDK-无法从相机检测器获取回调

来自分类Dev

MongoDB 查询:我无法获取回调范围之外的结果对象

来自分类Dev

$ .Callbacks:如何获取回调列表的长度

来自分类Dev

如何从回调中获取回报

来自分类Dev

在获取回调中返回空的主干

来自分类Dev

从接口获取回调的最佳方法

来自分类Dev

从WebView中的付款网关获取回调

来自分类Dev

从Matlab中的单选按钮获取回调

来自分类Dev

从Yodlee快速链接获取回调

来自分类Dev

如何在fancyBox中获取回调

来自分类Dev

从片段开始活动,然后获取回调

来自分类Dev

无法获取回送的TimeBasedRollingPolicy

来自分类Dev

界面无法同时扩展锚点和按钮的类型

来自分类Dev

导航后,温泉用户界面页面无法正确加载