【问题标题】:Returning value from Android asynchronous nested class从 Android 异步嵌套类返回值
【发布时间】:2013-04-14 23:17:24
【问题描述】:

我正在尝试从函数的嵌套类中返回一个变量,如下所示:

public int getPlan(int planID) {
 int planId;
 TableOperationCallback<Plans> callback = new TableOperationCallback<Plans>() {
          public void onCompleted(Plans plan, Exception exception,ServiceFilterResponse response) {
               if(exception == null){
                    int planId = (int) db.addPlan(plan); //Want to return this value
               } else {
                    Log.e(exception.getMessage(), "ERROR");
               }
          } 
     };
  mPlanTable.lookUp(planID, callback);
  return planId;
}

此方法与 Azure Android SDK 相关联,并且 mPlanTable.lookUp() 被异步调用。因此,planId 有时会在上面的代码中返回 null。

返回实际值的最佳方法是什么?

【问题讨论】:

    标签: java android azure asynchronous


    【解决方案1】:

    如果lookUp 是异步的,那么您永远不会返回它的结果。您需要重构您的代码,以便使用返回值的任何事情都在回调中完成,而不是在那里。

    【讨论】:

      猜你喜欢
      • 2014-06-23
      • 2018-01-25
      • 1970-01-01
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      相关资源
      最近更新 更多