Java 如何更改内部类中全局变量的值

Java 如何更改内部类中全局变量的值,java,Java,我有这个函数从服务器检索访问令牌 public void retrieveAccessTokenfromServer() { Ion.with(this) .load("http://2401a7dd.ngrok.io/token") .asJsonObject() .setCallback(new FutureCallback<JsonObject>() { @Overr

我有这个函数从服务器检索访问令牌

public void retrieveAccessTokenfromServer() {
    Ion.with(this)
            .load("http://2401a7dd.ngrok.io/token")
            .asJsonObject()
            .setCallback(new FutureCallback<JsonObject>() {
                @Override
                public void onCompleted(Exception e, JsonObject result) {
                    if (e == null) {
                        String identity = result.get("identity").getAsString();
                        VideoActivity.this.accessToken=result.get("token").getAsString();
                        debug.setText(VideoActivity.this.accessToken);

                    } else {
                        Toast.makeText(VideoActivity.this,
                                R.string.error_retrieving_access_token, Toast.LENGTH_SHORT)
                                .show();
                    }

                }
            });

}
public void retrieveAccessTokenfromServer(){
(这个)离子
.加载(“http://2401a7dd.ngrok.io/token")
.asJsonObject()
.setCallback(新的FutureCallback(){
@凌驾
未完成公共无效(异常e,JsonObject结果){
如果(e==null){
String identity=result.get(“identity”).getAsString();
VideoActivity.this.accessToken=result.get(“token”).getAsString();
debug.setText(VideoActivity.this.accessToken);
}否则{
Toast.makeText(VideoActivity.this,
R.string.error\u检索\u访问\u令牌,Toast.LENGTH\u SHORT)
.show();
}
}
});
}
在顶部的这个函数之外,我有一个全局变量“String accessToken”,我想使用这个函数从服务器向它分配一个访问令牌。我的问题是全局变量不接受在onCompleted方法中分配给它的值。我相信这是因为它是用在内部类,为什么它不能采取任何价值。debug.set可以正常工作,但是如果我把它放在一边,就什么也不打印了


关于如何更改内部类中全局变量的值的任何帮助

我不确定“全局”是什么意思。我们可以花一些时间尝试整理术语,但最快的事情可能是您显示足够的代码,以便我们可以看到变量是如何声明的。Change
VideoActivity.this.accessToken=result.get(“token”).getAsString()
to
accessToken=result.get(“token”).getAsString()accessToken
被声明为全局field@MarkAdelsberger:同意,尽管
VideoActivity。此.accessToken
相当清楚地表明它是包含类中的实例字段。内部类可以在其包含类中设置非
final
实例字段的值。(如果它是
final
,你会得到一个编译时错误)它不会只是默默地失败,所以我发现很难相信你没有得到任何编译时或运行时错误分配给
VideoActivity.this.accessToken
,但你也没有看到它的值被更改。请将问题简化为a,并将其发布到问题中。@T.J.Crowder-如果您说该行表示它是包含类中的实例字段,我同意;但考虑到各种不一致之处(使用的术语,你在其他评论中提出的观点),我发现最好不要假设没有澄清;这就是为什么我没有直接给出答案的原因