0

我正在开发 phonegap android 应用程序。我正在尝试建立 javascript 和 android java 类之间的通信。

对于通信,我在 android 主要活动中使用了 addJavaScriptInterfaceMethod。这样我就可以在 javascript 中使用 java 对象和方法。

以下是 Java 代码:

 public class Activity extends DroidGap
  {
       @Override
       public void onCreate(Bundle savedInstanceState) 
       {

            super.onCreate(savedInstanceState);
            setIntegerProperty("loadUrlTimeoutValue", 60000);
            super.loadUrl("file:///android_asset/www/jq3.html");
            MapTablesWrapper table = new MapTablesWrapper();
            super.appView.addJavascriptInterface(new MapTablesWrapper(), "tables");

           }
     }

在 javascript 中:以下代码不打印表值。它警告未定义

var tableName = tables.getTableName();
function(){
       alert(tableName);

 }

如果我在函数内声明 var table。它打印 tableName 和以下代码是

 function(){
       var table = tables.getTableName();
       alert(tableName);
 }

但我想在函数外部声明变量,并希望在函数内部使用该变量。

4

1 回答 1

0

你可以这样做

var global = {
    table : null
};

function()
{
   global.table = tables.getTableName();
   alert(global.table);
}

fileName.table您可以将 global 重命名为您的 JS 文件名,以便可以使用您的此处访问当前文件以及任何其他 JS 文件中的所有函数global.table

于 2013-09-20T12:53:07.700 回答