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テーブルを宣言すると、tableNameと次のコードが出力されます

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

しかし、関数の外で変数を宣言し、その変数を関数内で使用したいと考えています。

4

1 に答える 1

0

あなたは好きにすることができます

var global = {
    table : null
};

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

JS ファイル名として global の名前を変更できます。これにより、この変数は、現在のファイル内のすべての関数と、fileName.tableここにある他の JS ファイル内のすべての関数にアクセスできます。global.table

于 2013-09-20T12:53:07.700 に答える