没有调用Android回调处理程序

时间:2017-02-21 08:12:09

标签: java android callback android-handler

我正在使用回调处理程序来解析来自webservice的响应,但它没有被调用。

private static final int JSON_PARSE = 0;

private Handler mHandler = new Handler(new Handler.Callback() {
    @Override
    public boolean handleMessage(Message message) {
        switch (message.arg1) {
            case JSON_PARSE:
                String json = (String) message.obj;
                try {
                    jsonObj = new JSONObject(json);

                    if (!jsonObj.toString().trim().isEmpty() && jsonObj != null) {

                     //Some code 

                    }

                } catch (JSONException e) {
                    e.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                break;
        }
        return false;
    }
});

我称之为

Message msgResponse = new Message();
msgResponse.obj = response;
msgResponse.arg1 = JSON_PARSE;
mHandler.handleMessage(msgResponse);

1 个答案:

答案 0 :(得分:0)

您应该向处理程序发送消息,如下所示

Message msgResponse = new Message();
msgResponse.obj = response;
msgResponse.arg1 = JSON_PARSE;
mHandler.sendMessage(msgResponse);