2014-06-30 39 views
0

我对android很新颖。现在我正在使用android html和java脚本功能。我试图将数据从android页面发送到html页面,但我没有成功。请告诉我如何在android中做到这一点。这对我有很大的帮助。如何在运行时从android中更改html页面数据?

Html页面:

<!doctype html> 
     <html lang="en"> 
     <head> 
      <meta charset="UTF-8"> 
      <meta name="Generator" content="EditPlus®"> 
      <meta name="Author" content=""> 
      <meta name="Keywords" content=""> 
      <meta name="Description" content=""> 
      <title>Document</title> 
    <script src="index.js"></script> 

     </head> 
     <body> 

      <h1>This is my first webpage</h1> 

      <p id="demo">A Paragraph.</p> 

     <button type="button" onclick="myFunction()">Try it</button> 


     </body> 
     </html> 

Java脚本的页面index.js

function myFunction() 
{ 
document.getElementById("demo").innerHTML = "Paragraph changed."; 
} 

在Android资产的文件夹,我把这些文件。在布局中,我采取了一个编辑文本和一个按钮。对于那个编辑文本,我得到了文本,我想将该文本更新到html页面。这是任务。 所以我不喜欢

版式文件:

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:weightSum="100" 
     android:orientation="horizontal" > 

     <EditText 
      android:id="@+id/edittext" 
      android:layout_width="0dp" 
      android:layout_height="40dp" 
      android:layout_weight="70"/> 
     <Button 
      android:layout_width="0dp" 
      android:layout_weight="30" 
      android:id="@+id/button" 
      android:layout_height="40dp" 
      android:text="Button"/> 

    </LinearLayout> 

    <WebView 
     android:id="@+id/graph" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
    </LinearLayout> 

活动:

package com.roopasoft.drawtriangle; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.webkit.WebView; 
import android.widget.Button; 
import android.widget.EditText; 

public class HtmlLoad extends Activity implements OnClickListener{ 

EditText editText; 
Button button; 
WebView view; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.webview); 
    view = (WebView)findViewById(R.id.graph); 
    editText = (EditText)findViewById(R.id.edittext); 
    button = (Button)findViewById(R.id.button); 

    view.getSettings().setJavaScriptEnabled(true); 
    view.loadUrl("file:///android_asset/TextDemo.html"); 

    button.setOnClickListener(this); 

} 


@Override 
public void onClick(View v) { 
    switch (v.getId()) { 
    case R.id.button: 

     String name = editText.getText().toString(); 

     view.loadUrl("file:///android_asset/javascript:myFunction(\""+name+"\")"); 

     break; 
    } 

} 

}

当我点击我的按钮名称将不会更新编辑文本。你能告诉我怎样才能解决这个问题。

感谢 桑卡

回答

0

变化

view.loadUrl("file:///android_asset/javascript:myFunction(\""+name+"\")"); 

view.loadUrl("javascript:myFunction(\""+name+"\")"); 
+0

嗨,当我点击按钮,我的职责是调用。但如果你介意我怎么能改变HTML页面中的文字。我必须发送自己的文本。那么,我可以写在js文件中。 – Nava2011

+0

我不清楚我的建议是否对你有帮助。 '我的功能正在调用':如果你认为你的功能现在被调用,那么你怎么知道? javascript函数'myFunction()'不带参数,但用参数调用它。该如何工作?将其更改为具有消息参数并将该消息作为innerHTML。 – greenapps

0

回龙余加载HTML的网页流量,并为调查数据从JavaScript的机器人。像这样的东西。

WebView wbview = (WebView) this.findViewById(R.id.report_wv_chartview); 
WebSettings webSettings = wbview.getSettings(); 
webSettings.setJavaScriptEnabled(true); 
wbview.addJavascriptInterface(this, "webConnector"); 
wbview.addJavascriptInterface(this, "toaster"); 
webSettings.setBuiltInZoomControls(true); 
wbview.requestFocusFromTouch(); 
wbview.setWebViewClient(new WebViewClient()); 
wbview.setWebChromeClient(new WebChromeClient()); 

wbview.loadUrl("file:///android_asset/html/bar.html"); 


public String get_bar_json() 
{ 
    return jString; 
} 

然后在html代码:

// i used jquery 
<script id="source" language="javascript" type="text/javascript"> 
    $(function() 
    { 
    var jsonData = new Object(); 
    var jsonData = window.webConnector.get_bar_json(); 
    . 
    . 
    . 
    }); 
</script> 

此外,this可能的帮助。

相关问题