首页 > 有谁知道 内部类的方法的局部变量怎么传给外部类同时让别的类能通过类名直接调用静态方法return出去?

有谁知道 内部类的方法的局部变量怎么传给外部类同时让别的类能通过类名直接调用静态方法return出去?

有谁知道 内部类的方法的局部变量怎么传给外部类,同时让别的类能通过类名直接调用静态方法,return出去,我原先在内部类声明了一个静态变量,早内部类的方法赋值后,但是第一次return出去的是初始值,也就是Null,第二次才是第二次,关于这个问题有谁有好的解决方案?
我现在想直接调用GetPlayURL.getUrl(),就能拿到Parsejosn的值


getAsyn方法从名字来看是一个异步方法,你的getUrl在它收到响应之前就会返回,所以无法得到响应中的值。有2种解决办法:

  1. 看看OkHttpClientManager有没有同步方法

  2. 如果非要使用异步方法,可以在getUrl中发送异步请求之后用休眠或循环的方式等待,直到parseJson有值再返回。这样其实是变相地把异步变成了同步。


个人感觉1楼说的挺对的


这里不直接写内部类,而是让当前类继承该接口,在重写的方法中将值赋予当前类的变量。这是我的想法


首先这里你访问网络用的是异步请求,那么你调用的时候就不可能同步的拿到值。要么使用OKHTTP的同步访问网络的方式,网络访问完毕后才去返回值,那么就能拿到正确的值,要么就自己控制异步时获得值,比如在网络请求结束后才去获得值,就是进入response后才去做操作。

【热门文章】
【热门文章】