android从活动中获取数据并在html中显示

问题描述:

我想从我的活动中放入变量并将其显示在html中。下面是我如何插入变量到webview,但我不知道我是如何从HTML获取数据并以“textview”形式显示它?android从活动中获取数据并在html中显示

编辑

的Java

webView = (WebView)findViewById(R.id.webView); 
    webView.setWebViewClient(new WebViewClient()); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
    webView.getSettings().setDatabaseEnabled(true); 
    webView.getSettings().setDatabasePath("/data/data/com.example.hybrid/hybrid_user"); 
    webView.loadUrl("file:///android_asset/www/index.html"); 
    webView.loadUrl("javascript:callFromActivity(\""+userid+"\")"); 

HTML

<body> 
<form> 
    <fieldset> 
     <legend>Hybrid Application</legend> 
     <p> 
      <label>UserName: </label> 
     </p> 
     <p id="mytext">Hello!</p> 
     <p> 
      <label>Mobile Number :</label> 
      <input type = "text" 
         id = "mobileNum" /> 
     </p> 
      <button type="button" 
      onclick="updateRecord()">Submit</button>  
       <div id="output"></div> 
    </fieldset> 
</form> 

<script> 
    function errorHandler(transaction, error){ 
     alert('Error:'+error.message+' (Code '+error.code+')'); 
     return true; 
    } 
    window.onerror = errorHandler; 
    var shortName = 'hybrid_user'; 
    var version = '1.0'; 
    var displayName = 'Hybrid Database'; 
    var maxSize = 65536; 
    var db = openDatabase(shortName, version, displayName, maxSize); 

    function updateRecord(id, textE1){ 
     database.transaction(function(tx){ 
      tx.executeSql("UPDATE hybrid_user SET mobile = ? WHERE userid = ?", [textE1.innerHTML, id], null, onError); 
     }) 
    } 

    function callFromActivity(msg){ 
     document.getElementById("mytext").innerHTML = msg;   
    } 
</script> 

我是新来的HTML,我不知道我的代码有什么问题,它没有在HTML页面中显示userid。任何意见和答案将不胜感激!

编辑更新

webView.loadUrl("javascript:callFromActivity(\""+userid+"\")"); 

显然是系统,通过该行代码没去。无论如何都要通过这个代码?

webView.setWebViewClient(new WebViewClient(){ 

     @Override 
     public void onPageFinished(WebView view, String url){ 
      webView.loadUrl("javascript:callFromActivity(\""+userid+"\")"); 
     } 
    }); 

我解决我的问题与此有关。当页面加载完成后,它将执行上面的代码并从活动中获取userid

尝试改变的innerHTML的值是这样的:

function callFromActivity(msg) { 
    document.getElementById("mytext").value = msg;   
} 
+0

我测试了一下,仍然回报为你好!但不是我的用户名 – 2013-03-21 06:28:53