java - 有谁知道 内部类的方法的局部变量怎么传给外部类同时让别的类能通过类名直接调用静态方法return出去?
大家讲道理
大家讲道理 2017-04-17 17:11:58
0
4
408
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(4)
迷茫

まず第一に、ネットワークにアクセスするために非同期リクエストを使用しているため、呼び出し時に値を同期的に取得することは不可能です。 OKHTTP のネットワークへの同期アクセスを使用し、ネットワーク アクセスが完了した後に値を返すことで正しい値を取得できるようにするか、値の非同期取得を自分で制御する (ネットワーク リクエストが完了した後に値を取得するなど) ことができます。完了、つまり応答後に操作を開始します。

いいねを押す +0
伊谢尔伦

ここでは内部クラスを直接記述せず、現在のクラスにインターフェイスを継承させ、オーバーライドされたメソッドで現在のクラスの変数に値を代入します。これは私のアイデアです

いいねを押す +0
PHPzhong

getAsyn メソッドは名前からわかるように非同期メソッドであるため、getUrl は応答を受け取る前に返されるため、応答内の値を取得できません。解決策は 2 つあります:

  1. 同期方法がある場合は OkHttpClientManager を参照

  2. 非同期メソッドを使用する必要がある場合は、getUrl で非同期リクエストを送信し、parseJson に値が入るまでスリープまたはループで待機してから返すことができます。これは実際には、非同期を偽装して同期に変えます。

いいねを押す +0
小葫芦

個人的には、フロア 1 の言ったことは非常に正しいと思います

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート