java - Android 回调处理程序未被调用

标签 java android callback android-handler

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

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);

最佳答案

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

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

关于java - Android 回调处理程序未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42361885/

相关文章:

android - Sqlite:根据距离(纬度和经度)选择项目

java - Android 应用程序在尝试通过 firebase 接收推送通知时崩溃

java - 如何以编程方式隐藏 View ?

android - WebView 视频不在 Android 2.3 中播放

Java 总是给我错误的巨大数字结果

c++ - 使用自定义数据作为函数参数调用 lua 回调

javascript - JS 异步库中的回调参数有什么作用?

c# - 回调后数据 View 中的按钮未触发

c# - 以不会成为 "God object"的方式设计类

java - java中设置长度数组的抽象方法?