2014-11-24 52 views
0

我试图从资产目录网页视图负荷的html并将数据发送到

public class ViewWeb extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.webview); 
     WebView wv; 
     wv = (WebView) findViewById(R.id.webView1); 
     wv.loadUrl("file:///android_asset/aboutcertified.html"); 
    } 
    } 

工作加载HTML页面,但我不会还发送一些文字文本框。怎么做?请帮助我!!!!

+0

发送一些文本也为文本框,这是什么意思? – Darpan 2014-11-24 12:14:34

回答

0

有两种方法。

第一种方式

在javascript中

function getParameters(query) { 
    var parts = query.split('&'); 
    var params = {}; 
    for (var i = 0, ii = parts.length; i < ii; ++i) { 
     var param = parts[i].split('='); 
     var key = param[0]; 
     var value = param.length > 1 ? param[1] : null; 
     params[decodeURIComponent(key)] = decodeURIComponent(value); 
    } 
    return params; 
} 
document.addEventListener("load", function() { 
    var params = getParameters(document.location.search.substring(1)); 
    if(params.hasOwnProperty('text_box_value')) { 
     var textBox = document.getElementById(<ID of your textbox>); 
     textBox.value = params['text_box_value']; 
    } 
} 
); 

在Java代码中

​​

方式二

在Java代码中

public class ViewWeb extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.webview); 
     WebView wv; 
     wv = (WebView) findViewById(R.id.webView1); 
     wv.setWebViewClient(new CustomWebViewClient()); 
     wv.loadUrl("file:///android_asset/aboutcertified.html"); 
    } 
} 

private class CustomWebViewClient extends WebViewClient { 
    @Override 
    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
     view.loadUrl("javascript:(function setText() {var textBox = document.getElementById('your textbox id'); textBox.value = '" + yourTextString + "';})()"); 
    } 
} 
+0

感谢您的重播.....我会尝试这个并评论你... – 2014-11-25 05:58:29

+0

在这两个哪一个更安全? – 2014-11-25 06:00:07

+0

所有方法都具有相同的安全级别,因为无论如何,您必须确保您要分配给文本框的字符串 – 2014-11-25 07:06:47

0

这样做的一种方法是使JavaScript桥apis。比方说您有HTML JS方法是这样的:

function setText(message){ 
    // Set message to Text Box 
} 

,你可以调用这个JS从本地代码(Java)的方法是这样的:

myWebView.loadUrl("javascript:setText(" + text + ")");