java - 将函数参数传递给Java中的回调函数

标签 java

我有这个代码:

public void FbShare(JSONObject parameters) {

    if (Session.getActiveSession() == null || !Session.getActiveSession().isOpened()) {

        Session.StatusCallback callback = new Session.StatusCallback() {

            @Override
            public void call(Session session, SessionState state, Exception exception) {

                if (state.isOpened()) {
                    publishFeedDialog(parameters);  // <--- HERE
                }
            }
        };

        Session.openActiveSession(this, true, callback);
    } else {
        publishFeedDialog(parameters);
    }
}

为什么在 publishFeedDialog(parameters) 调用中无法访问 parameters

最佳答案

parameters参数设置为final:

public void FbShare(final JSONObject parameters) {
 //...    
}

有关正在发生的事情的概述,请参阅:

关于java - 将函数参数传递给Java中的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26384634/

相关文章:

java - Java 中 String.contains() 的大 O 是什么?

java - 在不和谐机器人上上传用户文件

java - 如何为 NetBeans Java Web App 项目向 Ant 添加 jar 文件以便构建它?

java - 通用 "is null"谓词

java - 使用套接字发送请求行+文件 - java

Java线程相关问题

java - 如果在微调器中选择了某个项目,是否可以开始新类(class)?

java - 具有不同签名的两种主要方法

Java:混合实现类

java - 从 jtable 中删除 AbstractAction